我正在制作一个脚本,我有一个元组列表
tuple=()
number=input("Enter the how many elements you want :")
for i in range(0,number):
ele=input("Enter the element :")
tuple.apppend(ele)
print tuple
追加方法无法正常工作
答案 0 :(得分:1)
您可以通过从列表中创建元组输入来解决它:
def GetTuple():
data=[]
number=input("Enter the how many elements you want :")
for i in range(0,number):
ele=input("Enter the element :")
data.append(ele)
return tuple(data)
myTup = GetTuple()
print(myTup)
如果你需要多个元组,你必须多次调用它并将每个tumple放在另一个列表中。创建元组后,您无法修改它。
答案 1 :(得分:1)
元组是immutable,这意味着它们的值不能在存储在内存中的地方更改,而是将变量指向内存中的其他实例。
因此,对于不可变类型使用append()
方法没有意义。此方法专为lists设计。
在您的情况下,您可能希望切换到列表而不是元组。
答案 2 :(得分:0)
追加方法无法正常工作
完全。元组是不可变的。因此,在创建期间提供所有内容。像:
elements = tuple(input('Enter the element: ') for _ in range(number))
演示:
>>> number = input('Enter the how many elements you want: ')
Enter the how many elements you want: 3
>>> elements = tuple(input('Enter the element: ') for _ in range(number))
Enter the element: 3.142
Enter the element: 2.718
Enter the element: 42
>>> elements
(3.142, 2.718, 42)
答案 3 :(得分:0)
D G D
Swing low, sweet chariot,
A7
Comin’ for to carry me home.
这适用于Python 3.6。
答案 4 :(得分:0)
而不是0 0 */2 * * bin/console app:command >/dev/null 2>&1
你可以做tuple.append(ele)
[*] 。它的效率较低,因为它每次都复制整个元组,但由于你显然有人手动输入数据,我认为它不会太多。
顺便说一句,不要叫它tuple += ele,
。你正在影响Python的内置功能,而且你最好使用描述内容的有意义名称。
[*]对于不可避免的新手忽略逗号并声称这不起作用:不要忽略逗号,并进行测试。