如何更改列表中的每个元素?

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 列表中的元素执行字符串更改

如何获取二维列表中的每个第一个元素

Python - 如何按每个列表中的第四个元素对列表列表进行排序? [复制]

如何将每个值与列表对象中每个元素中的最大值相除