忽略python元组的一部分

时间:2012-03-02 11:32:56

标签: python tuples iterable-unpacking

如果我有一个像(1,2,3,4)这样的元组,我想将1和3分配给变量a和b,我显然可以说

myTuple = (1,2,3)
a = my_tuple[0]
b = myTuple[2]

或类似

(a,_,b,_) = myTuple

有没有办法可以解包值,但忽略其中的一个或多个?

3 个答案:

答案 0 :(得分:46)

我个人会写:

a, _, b = myTuple

这是一个非常常见的习语,所以它被广泛理解。我发现语法清晰。

答案 1 :(得分:13)

我认为你的解决方案很好。如果您确实在分配_时遇到问题,那么您可以定义索引列表并执行:

a = (1, 2, 3, 4, 5)
idxs = [0, 3, 4]
a1, b1, c1 = (a[i] for i in idxs)

答案 2 :(得分:0)

请注意,您可以像这样对源元组进行切片:

a,b = some_tuple[0:2]