Chinaunix
标题:
重要!关于python list追加数据的一个问题,求大神帮解释下!
[打印本页]
作者:
fu7100
时间:
2018-11-27 15:39
标题:
重要!关于python list追加数据的一个问题,求大神帮解释下!
list1
=[]
list2
=[]
json1
=
{}
for
count,line
in
enumerate
(
open
(
'123.txt'
,
'r'
))
:
var1
=
line.strip
()
var2
=
{
"uri"
:
"%s"
%
(
var1
)
}
list1
.append
(
var2
)
if
count
%
3
==
0
:
print
'list1:'
,
list1
json1
[
'data'
]=
list1
print
'json1:%s'
%
json1
list2.append
(
json1
)
#json1['data']='hello'
print
'list2'
,list2
time.sleep
(
1
)
print
'-----------------------'
结果如下
list1: [{'uri': '1'}]
json1:{'data': [{'uri': '1'}]}
list2 [{'data': [{'uri': '1'}]}]
-----------------------
list1: [{'uri': '1'}, {'uri': '2'}, {'uri': '3'}, {'uri': '4'}]
json1:{'data': [{'uri': '1'}, {'uri': '2'}, {'uri': '3'}, {'uri': '4'}]}
list2 [{
'data': [{'uri': '1'}, {'uri': '2'}, {'uri': '3'}, {'uri': '4'
}]}, {'data': [{'uri': '1'}, {'uri': '2'}, {'uri': '3'}, {'uri': '4'}]}]
问题日上, 结果中第二次循环data这个字典的第一条数据为啥是4条,按正常逻辑应该是第一条只有1条数据,第二条有3条数据, 可是在python中这样写,第一条数据变成了第二条data数据, 很奇怪啊!
作者:
kevin_furant
时间:
2018-11-28 18:59
因为enumerate的count是从0开始的啊
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2