如何更改列表中的每个元素?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改列表中的每个元素?相关的知识,希望对你有一定的参考价值。
我有一个名为mylist的数组,其中包含3个元素。我想剥离()该数组中的每个元素。这是代码
mylist = [' A ', ' B ', ' C']
for x in len(mylist):
mylist[x] = mylist[x].strip()
print(mylist)
此代码给出了错误
TypeError: 'int' object is not iterable
答案
将len(mylist)
更改为range(len(mylist))
mylist = [' A ', ' B ', ' C']
for x in range(len(mylist)):
mylist[x] = mylist[x].strip()
print(mylist)
顺便说一下,在这种情况下,我将使用列表理解:
mylist = [' A ', ' B ', ' C']
newlist = [x.strip() for x in mylist]
另一答案
问题是len(mylist)
返回一个数字。您缺少范围功能。就个人而言,我建议改为使用枚举。
例如,如果您想要相同的列表
for i, x in enumerate(mylist):
mylist[i] = x.strip()
如果您想要一个新列表
lst = [x.strip() for x in mylist]
# or
lst = list(map(str.split, mylist))
另一答案
方法2:列表理解
您可以简单地通过使用如下列表理解来做到这一点(这更像pythonic)。
[x.strip() for x in mylist]
输出:
['A','B','C']
方法2:枚举
此外,如果在遍历列表时必须使用index
,我强烈建议您如下使用enumerate(mylist)
。
for i, x in enumerate(mylist):
mylist[i] = x.strip()
print(mylist)
输出:
['A','B','C']
另一答案
您的代码for x in len(mylist)
将转换为无效的for x in 3
。因此,错误TypeError: 'int' object is not iterable
。
更新:
for i, x in enumerate(mylist):
mylist[i] = x.strip()
以上是关于如何更改列表中的每个元素?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter - 如何访问 ListView.builder 中的一个元素?
如何在 FOR 循环中对 Python Pandas 列表中的元素执行字符串更改