Python 如何更改列表中的每个元素?
我有一个名为mylist的数组,它有3个元素。我想去掉数组中的每个元素。这是代码Python 如何更改列表中的每个元素?,python,Python,我有一个名为mylist的数组,它有3个元素。我想去掉数组中的每个元素。这是代码 mylist = [' A ', ' B ', ' C'] for x in len(mylist): mylist[x] = mylist[x].strip() print(mylist) 此代码给出了一个错误 TypeError: 'int' object is not iterable 将lenmylist更改为rangelenmylist 顺便说一下,在这种情况下,我会使用列
mylist = [' A ', ' B ', ' C']
for x in len(mylist):
mylist[x] = mylist[x].strip()
print(mylist)
此代码给出了一个错误
TypeError: 'int' object is not iterable
将lenmylist更改为rangelenmylist
顺便说一下,在这种情况下,我会使用列表理解:
mylist = [' A ', ' B ', ' C']
newlist = [x.strip() for x in mylist]
lenmylist中的x代码将转换为3中的x代码,这是无效的。因此,错误TypeError:“int”对象是不可编辑的
更新:
对于枚举列表中的i,x:
mylist[i]=x.strip
方法1:列表理解
您可以简单地通过使用下面的列表理解来实现这一点,这更像python
[mylist中x的x条带]
输出:
方法2:枚举
另外,如果在遍历列表时必须使用索引,我强烈建议您使用enumeratemylist,如下所示
对于枚举列表中的i,x:
mylist[i]=x.strip
印刷主义者
输出:
参考
问题是lenmylist返回一个数字。您缺少一个范围函数。就我个人而言,我建议改用enumerate
例如,如果您想要相同的列表
for i, x in enumerate(mylist):
mylist[i] = x.strip()
如果你想要一个新的列表
lst = [x.strip() for x in mylist]
# or
lst = list(map(str.split, mylist))
在python中,我们主要使用新值创建新数组,最后将其分配给同一个变量。使用列表理解可以是mylist=[x.strip for x in mylist],或者使用map可以是mylist=listmapstr.strip,mylistpd.DataFramemylist[0]。str.strip.tolist:[A','B','C'],解决方案是什么?解决方案是枚举列表或使用范围函数并根据需要进行更新。我知道我应该把它包括在内,但我希望OP能理解这个问题并解决它。但是谢谢,我已经把它包括在我的答案里了。
['A','B','C']
for i, x in enumerate(mylist):
mylist[i] = x.strip()
lst = [x.strip() for x in mylist]
# or
lst = list(map(str.split, mylist))