我有以下元组元组:
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')
)
答案 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 ...允许您在列表中的任何位置推送任意对象。