2011-08-14 72 views
11

我想知道如何把一個元組放入數組?或者更好地使用數組中的數組來設計程序而不是數組中的元組? 請指教我。謝謝我可以把一個元組放入python數組中嗎?

+3

你的意思是讓元組的數組?或者將一個元組*變成一個數組? – Nate

+5

你的意思是'列表'在一個實際的'數組'? –

+0

我只是想像文本和ID值存儲到元組或列表,但我想檢查它與另一個循環。而不是在for循環中使用for循環。我想在數組中使用數組。但是,我是否應該在列表中使用元組,還是使用列表中的列表,我感到非常困惑。我不擅長設計設計結構,所以我要求提供建議和意見 – iCezz

回答

14

有一點要記住的是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 
+0

我只是想將文本和ID等值存儲到元組或列表中,但我想用另一個for循環來檢查它。而不是在for循環中使用for循環。我想在數組中使用數組。但是,我是否應該在列表中使用元組,還是使用列表中的列表,我感到非常困惑。我不是很擅長設計設計結構,因此我在徵求意見和建議 – iCezz

+0

@iCezz我添加了一個例子,說明如何輕鬆遍歷不帶多個for循環的元組列表。 – jterrace

+0

我認爲這是一個好主意,在這種情況下,我可以方便快捷地檢索元組內的值,而不用擔心數據會被更改。再次感謝 – iCezz

6

如果你在談論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,沒有蟒蛇array■不要支持元組。

+0

謝謝你的建議。這就是我所說的數組中的元組。基本上它將許多元組存儲在一個列表中。但我認爲元組沒有方法,因此我相信它會添加到列表中。感謝分享 – iCezz

1
a = [ ('b', i , "ff") for i in range(1,5)] 
相關問題