问一个关于python json的问题?
巴扎黑
巴扎黑 2017-04-18 10:33:52
0
2
344

想知道为什么这段代码运行的结果不是想象中的'["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"]'

请指教

巴扎黑
巴扎黑

모든 응답(2)
左手右手慢动作

list.append은 목록 자체 대신 None을 반환하기 때문입니다

Peter_Zhu

리스트의 append 연산은 None을 반환합니다. 즉, json.loads(t).append('123')None을 반환합니다.

분할 작업은 추가의 반환 값이 아니라 목록 개체입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!