我有一个名为mylist的数组,其中包含3个元素。我想剥离()该数组中的每个元素。这是代码
mylist = [' A ', ' B ', ' C']
for x in len(mylist):
mylist[x] = mylist[x].strip()
print(mylist)
此代码给出了错误
TypeError: 'int' object is not iterable
答案 0 :(得分:5)
问题是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))
答案 1 :(得分:3)
方法1:列表理解
您可以简单地通过使用以下列表理解来做到这一点(这更像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']
答案 2 :(得分:2)
将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]
答案 3 :(得分:0)
您的代码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()