我希望创建一个列表,其成员是元组,取自控制台输入。我已经看到了其他关于元组和列表的问题。但是如何从输入创建元组并将它们追加到列表中,直到选择取元组元素为否,'n'?我尝试了以下代码。
"""
Create the tuples into a list.
"""
def createTupledList() :
l=[]
print("Add an element for the tuple ? y/n : ")
ch=str(input())
while(ch=='y') :
print("Enter the tuple element : ")
i=input()
l=l.append(tuple(i))
print("Add an element for the tuple ? y/n : ")
ch=str(input())
return l
l2=createTupledList()
print(l2)
请帮忙。
我的输入和错误输出:
C:\Users\vikranth\myproject\Python\Lists\Day 0>py tuplesortlist.py
Add an element for the tuple ? y/n :
y
Enter the tuple element :
1
Add an element for the tuple ? y/n :
y
Enter the tuple element :
2
Traceback (most recent call last):
File "tuplesortlist.py", line 19, in <module>
l2=createTupledList()
File "tuplesortlist.py", line 12, in createTupledList
l=l.append(tuple(i))
AttributeError: 'NoneType' object has no attribute 'append'
答案 0 :(得分:2)
append()
函数不会返回附加列表,它会返回NoneType
,因为它会执行附加到位,因此您只需更改行:
l=l.append(tuple(i))
为:
l.append(tuple(i))
这应该有用。
答案 1 :(得分:0)
将多个元素添加到元组中并将多个元组添加到列表中的代码。
"""
Create the tuples into a list.
"""
def createTupledList() :
l=[]
while True:
t=tuple()
print("Add an element for the tuple ? y/n : ")
if input()!='y':
break
else:
print("Keep adding the tuple elements : (x to break)")
while True:
i=input()
if i=='x':
break
else:
t+=(i,)
print(t)
l.append(t)
return l
l2=createTupledList()
print(l2)