Python:在克隆列表中使用 lower() 会导致无限循环? [复制]
Posted
技术标签:
【中文标题】Python:在克隆列表中使用 lower() 会导致无限循环? [复制]【英文标题】:Python: using lower() at a cloned list results in endless loop? [duplicate] 【发布时间】:2021-07-07 17:45:55 【问题描述】:我只想通过使用 lower() 以小写形式添加列表的每个条目。 我正在使用这段代码来完成任务:
MyList = ["EntryOne", "EntryTwo"]
TempList = MyList #cloning MyList to TempList
for v in TempList:
MyList.append(v.lower()) #Why is it also being appended into TempList ?
print(MyList)
print(TempList)
#expected output:
#["EntryOne", "EntryTwo", "entryone", "entrytwo"]
#["EntryOne", "EntryTwo"]
如您所见,TempList 的声明在 for 循环之外,我只是在开头声明它。没有将小写字母附加到 TempList 的代码。
因此这个脚本永远循环。
【问题讨论】:
请关注***.com/questions/8744113/… 无处你克隆了一个列表。TempList = MyList
从不复制任何东西。这只是将相同的列表对象分配给另一个变量。
【参考方案1】:
你的错误是你在第 2 行的陈述:
TempList = MyList #cloning MyList to TempList
这是不正确的。它不会克隆您的列表。
改用.copy()
:
TempList = MyList.copy()
【讨论】:
谢谢,这对我有帮助!以上是关于Python:在克隆列表中使用 lower() 会导致无限循环? [复制]的主要内容,如果未能解决你的问题,请参考以下文章