我已经看过这篇关于可迭代 python 错误的文章:
但那是关于错误“无法分配一个可迭代的”。我的问题是为什么 python 告诉我:
"list.py", line 6, in <module>
reversedlist = ' '.join(toberlist1)
TypeError: can only join an iterable
我不知道我做错了什么!我正在关注这个线程:
特别是这个答案:
>>> s = 'This is a string to try'
>>> r = s.split(' ')
['This', 'is', 'a', 'string', 'to', 'try']
>>> r.reverse()
>>> r
['try', 'to', 'string', 'a', 'is', 'This']
>>> result = ' '.join(r)
>>> result
'try to string a is This'
并调整代码以使其具有输入。但是当我运行它时,它说上面的错误。我是一个完全的新手所以你能告诉我错误消息的含义以及如何修复它吗?
代码如下:
import re
list1 = input ("please enter the list you want to print")
print ("Your List: ", list1)
splitlist1 = list1.split(' ')
tobereversedlist1 = splitlist1.reverse()
reversedlist = ' '.join(tobereversedlist1)
yesno = input ("Press 1 for original list or 2 for reversed list")
yesnoraw = int(yesno)
if yesnoraw == 1:
print (list1)
else:
print (reversedlist)
该程序应该接受像苹果和梨这样的输入,然后产生输出梨和苹果。
帮助将不胜感激!
原文由 Derek 发布,翻译遵循 CC BY-SA 4.0 许可协议
splitlist1.reverse()
与许多列表方法一样,就地执行,因此返回None
。所以tobereversedlist1
因此是无,因此是错误。你应该直接传递
splitlist1
: