我想知道如何将元组放入数组中?或者更好的是在数组中使用数组来设计程序而不是数组中的元组? 请指教。谢谢
答案 0 :(得分:19)
要记住的一件事是tuple是不可变的。这意味着一旦创建,您就无法就地修改它。另一方面,list是可变的 - 意味着您可以添加元素,删除元素以及就地更改元素。列表有额外的开销,因此只有在需要修改值时才使用列表。
您可以创建元组列表:
>>> list_of_tuples = [(1,2),(3,4)]
>>> list_of_tuples
[(1, 2), (3, 4)]
或列表清单:
>>> list_of_lists = [[1, 2], [3, 4]]
>>> list_of_lists
[[1, 2], [3, 4]]
不同之处在于您可以修改列表列表中的元素:
>>> list_of_lists[0][0] = 7
>>> list_of_lists
[[7, 2], [3, 4]]
但不包含元组列表:
>>> list_of_tuples[0][0] = 7
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
迭代元组列表:
>>> for (x,y) in list_of_tuples:
... print x,y
...
1 2
3 4
答案 1 :(得分:7)
如果你在谈论list
,你可以把任何东西放进去,甚至是不同的类型:
l=[10,(10,11,12),20,"test"]
l[0] = (1,2,3)
l.append((4,5))
l.extend((21,22)) #this one adds each element from the tuple
如果您的意思是array
,则没有python array不支持元组。
答案 2 :(得分:1)
a = [ ('b', i , "ff" ) for i in range(1,5)]