Jim*_*ies 40 python tuples iterable-unpacking
如果我有一个像这样的元组,(1,2,3,4)并且我想将1和3分配给变量a和b,我可以明显地说
myTuple = (1,2,3)
a = my_tuple[0]
b = myTuple[2]
Run Code Online (Sandbox Code Playgroud)
或类似的东西
(a,_,b,_) = myTuple
Run Code Online (Sandbox Code Playgroud)
有没有办法可以解压缩值,但忽略它们中的一个或多个?
NPE*_*NPE 55
我个人会写:
a, _, b = myTuple
Run Code Online (Sandbox Code Playgroud)
这是一个非常常见的习语,因此它被广泛理解.我发现语法清晰.
eya*_*ler 27
您可以用来*_捕获未知数量的元素。
first, *_, one_before_last, _ = 1,2,3,4,5,6,7,8,9
Run Code Online (Sandbox Code Playgroud)
给出:
first = 1
one_before_last = 8
Run Code Online (Sandbox Code Playgroud)
Bog*_*dan 14
在我看来,你的解决方案很好.如果您确实在分配_时遇到问题,那么您可以定义索引列表并执行:
a = (1, 2, 3, 4, 5)
idxs = [0, 3, 4]
a1, b1, c1 = (a[i] for i in idxs)
Run Code Online (Sandbox Code Playgroud)