Python在列表中插入元素无限循环的奇怪行为

2024-09-28 22:25:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个元素插入下面的列表(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)

Tags: in程序脚本元素列表forlenif
0条回答
网友
1楼 · 发布于 2024-09-28 22:25:28

c5c6引用同一列表对象,原因是:

c6=c5

通过c5的迭代与添加到c6的引用相同的列表相结合,意味着在向列表中添加元素时对列表进行迭代。你知道吗

使用以下方法制作c6副本:

c6 = c5[:]

在其他选择中。你知道吗

相关问题 更多 >