此代码有什么问题?我一定缺少一些琐碎的东西。每次我尝试运行它时,它都会暂时不执行任何操作,然后输出“ Killed”。我希望它接受列表中的每个元素,在其中添加“ x”,然后将此新元素附加到列表中,以便输出看起来像这样:
['a', 'b', 'c', 'd', 'ax', 'bx', 'cx', 'dx']
到目前为止,我的代码:
list = ['a', 'b', 'c', 'd']
for element in list:
element = element + "x"
list.append(element)
print(list)
您在遍历列表时将其追加到列表中,因此,每次执行“前进”操作时,都会添加另一个“步骤”以待以后执行,因此最终以['a', 'b', 'c', 'd', 'ax', 'bx', 'cx', 'dx', 'axx', 'bxx' ...]
结尾。出于许多与此类似的原因,通常的规则是,在迭代列表时,应避免修改列表。
尝试此方法
list_1 = ['a', 'b', 'c', 'd']
list_2 = [elem + 'x' for elem in list_1]
result = list_1 + list_2
print(result)
列表= ['a','b','c','d']list2 = []对于列表中的元素:list2.append(element +“ x”)list.extend(list2)
打印(列表)
由于您要在循环中追加内容,因此经常会遇到内存错误。上面的代码可能会对您有所帮助。