gpt4 book ai didi

python - 只有四个元素在 python 中出现内存错误

转载 作者:行者123 更新时间:2023-12-01 01:43:42 24 4
gpt4 key购买 nike

我遇到了内存错误,但无法理解其背后的原因。下面是代码。使用列表并在列表中再添加两个元素。

mylist = ['phonon', 'communication']
for i in mylist:
mylist.append(i.upper())
print(mylist)

如果有人能帮助我,这将非常有帮助。

最佳答案

for i in mylist:
mylist.append(i.upper())

基本上是在迭代时附加到您的列表。所以迭代永远不会结束。

你想做的事:

mylist += [i.upper() for i in mylist]

在最后一种情况下,右侧表达式是根据未修改的 mylist 计算得出的,然后将其元素附加到现有的 mylist 中。

请注意,上面相当于

mylist.extend([i.upper() for i in mylist])

mylist.extend(list(map(str.upper,mylist)))

请注意,对于上面的两个片段,有必要转换为列表,否则如果内部被延迟计算,您会得到相同的内存错误。最后一个片段可能是最快的,因为它根本不使用任何 python 循环、map,并且没有 lambda

对于所有 3 个片段,结果为:

['phonon', 'communication', 'PHONON', 'COMMUNICATION']

关于python - 只有四个元素在 python 中出现内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51615580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com