将另一个元组添加到元组元组中

时间:2010-08-19 14:56:29

标签: python tuples

我有以下元组元组:

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 个答案:

答案 0 :(得分:50)

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)

答案 1 :(得分:16)

不要转换为列表并返回,这是不必要的开销。 +连接元组。

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

答案 2 :(得分:4)

或者,使用元组连接


final_choices = (another_choice,) + my_choices

答案 3 :(得分:1)

你所拥有的是一个元组元组,而不是一个元组列表。元组是只读的。从列表开始。

>>> 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 ...允许您在列表中的任何位置推送任意对象。