2010-08-19 46 views
33

我的元組的下列元組的元組:另一元組添加到元組

my_choices=(
     ('1','first choice'), 
     ('2','second choice'), 
     ('3','third choice') 
) 

,我想另一個多元組添加到它

another_choice = ('0', 'zero choice') 

我怎樣才能做到這一點開始?

的結果將是:

final_choices=(
      ('0', 'zero choice') 
      ('1','first choice'), 
      ('2','second choice'), 
      ('3','third choice') 
    ) 
+4

這是一個元組的元組,而不是一個元組列表。 – 2010-08-19 15:02:15

回答

36

建一個元組的元組出another_choice,然後拼接:

final_choices = (another_choice,) + my_choices 

或者,考慮做my_choices一個列表的元組,而不是一個元組的元組用方括號代替括號:

my_choices=[ 
    ('1','first choice'), 
    ('2','second choice'), 
    ('3','third choice') 
] 

然後,你可以簡單地做:

my_choices.insert(0, another_choice) 
0

你有什麼是元組的元組,而不是一個元組列表。元組是隻讀的。改爲從列表開始。

>>> my_choices=[ 
...   ('1','first choice'), 
...   ('2','second choice'), 
...   ('3','third choice') 
... ] 
>>> my_choices.insert(0,(0,"another choice")) 
>>> my_choices 
[(0, 'another choice'), ('1', 'first choice'), ('2', 'second choice'), ('3', 'third choice')] 

list.insert(IND,OBJ)插入提供索引處的OBJ名單內...讓你推任意對象列表中的任何位置。

11

不要轉換爲列表並返回,這是不必要的開銷。 +連接元組。

>>> foo = ((1,),(2,),(3,)) 
>>> foo = ((0,),) + foo 
>>> foo 
((0,), (1,), (2,), (3,)) 
+0

我以爲你不能改變元組? – Douglas 2017-12-23 17:27:37

+0

你不能---但你可以重新定義它們:) – katrielalex 2017-12-31 17:44:20

3

或者,使用元組拼接


final_choices = (another_choice,) + my_choices