为什么我得到浮点数在这个python片段中是不可迭代的?

时间:2017-03-10 09:42:28

标签: python python-3.x iterator

dist=[a,b,c,d,e]
spset=[1,3]
k=[]
for m in range(1,self.n+1):
    if m not in spset:
        k+=dist[m] 

我正在尝试创建一个列表k,其中包含dist的所有元素,但索引位于spset[]的元素除外。我究竟做错了什么?错误是:

k+=dist[m] 
TypeError: 'int' object is not iterable

2 个答案:

答案 0 :(得分:1)

问题可能是@SuperSaiyan所述的问题。此外,您还有另一种可能的解决方案,更紧凑,更简单:

[x for i,x in enumerate(dist) if i not in spset]

答案 1 :(得分:0)

因为dist[m]可能是int。你正试图"延伸"通过+=操作的列表。您可能需要k.append(dist[m])