我在使用下面的反向列表程序时遇到了问题。
list1 = input ("please enter the list you want to print")
print ("Your List: ", list1)
rlist1 = reversed(list1)
toberlist1 = []
for eachit in rlist1:
toberlist1.append(eachit)
yesno = input ("Press 1 for original list or 2 for reversed list")
yesnoraw = int(yesno)
if yesnoraw == 1:
print (list1)
else:
print (toberlist1)
仅供参考:理发师名单是反向清单的缩写。
我遇到的问题是反向列表正在返回:
['' r',' a',' e'' p',& #39;,',''' e',' l',' p',' p& #39;,' a']
应该只返回:
sraep,selppa
方括号,除了一个逗号和撇号外都不需要,所以如何删除它们。
帮助将不胜感激!
编辑:我为发布这个问题而道歉,因为有人已经回答了这个问题,但是谁标记它说它已经回答了,可能就是那些对编程有所了解的人。我不知道出了什么问题,这就是我首先提出这个问题的原因。我不知道这是一个字符串列表,这意味着我可能不知道去那个帖子。标题检查器会告诉您是否有类似的主题也没有给我任何有类似问题的帖子。再一次道歉,但作为一个抬头,我们中的一些人在编程上很糟糕: - )答案 0 :(得分:1)
方括号,除了一个逗号和撇号之外的所有内容都是python的方式告诉你,你已经要求它给你一个字符串列表。
你需要让它将这个列表连接成一个字符串:
''.join(list1)
答案 1 :(得分:1)
您似乎对基础级别的代码有误解。
list1 = input ("please enter the list you want to print")
会给你一个不是列表的字符串。所以当你这样做时:
for eachit in rlist1:
toberlist1.append(eachit)
您将遍历字符串中的每个字符而不是字符串中的每个字。如果您希望用户输入逗号分隔的字符串以获取您可以执行的元素列表:
>>> list1 = input ("please enter the list you want to print").split(',')
please enter the list you want to print1,2,3,4
>>> list1
['1', '2', '3', '4']
split()
将分隔符作为参数,并将字符串拆分为该分隔符上的块。因此,在那里输入逗号将在逗号上打破字符串。它不一定是逗号,它可以是你想要的任何分隔符,甚至是空格。
并扭转它:
>>> list1[::-1]
['4', '3', '2', '1']
这是Python slice notation的一个例子。