我试图将元素插入以下列表(C5)并获得新列表(C6)时,当列表的连续元素不一样,并且我在下面尝试过。这种插入以某种方式使我进入了无限的循环,我必须手动杀死该程序才能停止该程序。有人可以帮助我理解python中列表的这种奇怪行为吗?
预先感谢
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)
c5
和 c6
引用相同的列表对象,原因是:
c6=c5
通过 c5
迭代与添加到 c6
的结合,引用相同列表意味着在添加元素时通过列表进行迭代。
通过使用:
使c6
副本 c6 = c5[:]
其他选项。