【发布时间】:2018-01-03 12:55:49
【问题描述】:
首先,我已经看过这些关于同一主题的帖子:
TypeError: can only join an iterable python
"Can only join an iterable" python error
"Can only iterable" Python error
python error-can only join an iterable
但遗憾的是,他们似乎都没有回答我的问题。我想列出一个列表,并按大小对所有非 -1 值进行排序,然后将 -1 返回到它们的原始位置。这是我的代码:
def sortByHeight(a):
treeLocations = []
for everyHeight in a:
if everyHeight == -1:
treeLocations.append([(len(a)-a.index(everyHeight)), (a.index(everyHeight)-1)])
a.remove(-1)
people = sorted(a)
for everyPair in treeLocations:
one = everyPair[1]
two = everyPair[0]
people[one:two] = -1
return(people)
sortByHeight([-1, 150, 190, 170, -1, -1, 160, 180])
我的代码在第 11 行抛出错误:TypeError: can only assign an iterable。 这是什么意思,我该如何解决?
【问题讨论】:
-
你需要检查你的缩进
-
我更改了缩进,但仍然出现错误...
-
people[one:two] = -1