Maison > Questions et réponses > le corps du texte
想知道为什么这段代码运行的结果不是想象中的'["123"]'
In [1]: import json
In [2]: t = '[]'
In [3]: t = json.dumps(json.loads(t).append('123'))
In [4]: t
Out[4]: 'null'
但是拆分以后又正常运行?
In [5]: t1 = '[]'
In [6]: t2 = json.loads(t1)
In [7]: t2
Out[7]: []
In [8]: t2.append('123')
In [9]: t2
Out[9]: ['123']
In [10]: t1 = json.dumps(t2)
In [11]: t1
Out[11]: '["123"]'
甚至不引入多一个变量,拆分也是正常运行
In [12]: t1 = '[]'
In [13]: t1 = json.loads(t1)
In [14]: t1
Out[14]: []
In [15]: t1.append('123')
In [16]: t1
Out[16]: ['123']
In [17]: t1 = json.dumps(t1)
In [18]: t1
Out[18]: '["123"]'
请指教
ringa_lee2017-04-18 10:35:52
Parce que list.append
renvoie Aucun au lieu de la liste elle-même
天蓬老师2017-04-18 10:35:52
L'opération
de la liste append
renvoie None
, c'est-à-dire que json.loads(t).append('123')
renvoie None
.
L'opération de fractionnement n'est pas la valeur de retour de append, mais l'objet de liste.