2015-08-21 4 views
4

Я уже смотрел на это сообщение о Iterable ошибок питона:«Могу только присоединиться к Iterable» ошибка питона

"Can only iterable" Python error

Но это было об ошибке «не может назначить итератор». Мой вопрос: почему питон говорит мне:

"list.py", line 6, in <module> 
    reversedlist = ' '.join(toberlist1) 
TypeError: can only join an iterable 

Я не знаю, что я делаю неправильно! Я следовал этой теме:

Reverse word order of a string with no str.split() allowed

и конкретно этот ответ:

>>> 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) 

Программа должна принимать входной сигнал, как яблоки и груши, а затем производить вывод груши и яблоки.

Помощь будет оценена!

ответ

6

splitlist1.reverse(), как и многие методы списка, действует на месте и поэтому возвращает None. Таким образом, tobereversedlist1, следовательно, отсутствует, следовательно, ошибка.

Вы должны пройти splitlist1 непосредственно:

splitlist1.reverse() 
reversedlist = ' '.join(splitlist1) 
+0

Как бы вы сделать программу обратного списков, которые включают в себя запятые? Как яблоки, груши попадают в груши, яблоки – Derek

+0

Передайте запятую 'split' вместо пробела. –

+0

Как бы вы одновременно выполняли разделение пространства и разделение запятой? Таким образом, вы можете вводить как яблоки, грушу, так и яблоки, независимо от кода. – Derek

Смежные вопросы