我试图在下面的列表中插入一个元素(c5)并在列表的连续元素不相同时获取新列表(c6)并且我在下面的脚本中尝试过。这个插入以某种方式带我进入无限循环,我必须手动终止程序以停止程序。任何人都可以帮我理解python中List的奇怪行为吗?
提前致谢
c5=['03-03-2017 00:00', '03-03-2017 00:00', '03-03-2017 00:00', '03-03-2017 00:00', '03-03-2017 00:00', '04-03-2017 00:00', '04-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '06-03-2017 00:00', '07-03-2017 00:00', '07-03-2017 00:00', '07-03-2017 00:00', '07-03-2017 00:00', '07-03-2017 00:00', '07-03-2017 00:00', '07-03-2017 00:00', '08-03-2017 00:00', '08-03-2017 00:00', '08-03-2017 00:00', '09-03-2017 00:00', '09-03-2017 00:00', '09-03-2017 00:00', '09-03-2017 00:00', '09-03-2017 00:00', '09-03-2017 00:00', '10-03-2017 00:00']
c6=c5
x=0
for d in c5:
if(x<(len(c5)-1)):
if(d != c5[x+1]):
c6.insert(x+1,'Hurray')
print(x)
x+=1
print(c6)
答案 0 :(得分:1)
c5
和c6
引用相同的列表对象,原因如下:
c6=c5
通过c5
进行迭代并添加到引用相同列表的c6
意味着在向其添加元素时迭代列表。
使用以下内容制作c6
副本:
c6 = c5[:]
等其他选项。