Допустим, следующий список: foo = [(1, 2, 3, 4), (5, 6, 7, 8)]
Есть ли способ перебрать список и распаковать только первые два элемента внутреннего кортежа?
Это обычный шаблон:{a: b for a, b, _, _ in foo}
, но это нарушается, если foo
изменено (изменение программы), и кортеж теперь содержит 5 элементов вместо 4 (понимание списка должно быть соответственно изменено).Мне действительно нравится называть элементы вместо вызова {f[0]: f[1] for f in foo}
, поэтому в идеале было бы какое-то «поглощать все не распакованные переменные», поэтому можно было бы назвать {a: b for a, b, absorb_rest in foo}
.Если это возможно, не имеет значения, сколько элементов содержится в кортеже (если их не меньше 2).