リストを含むメソッド内でいくつかの値を返したいと思います。返り値でリストの一部を取得する方法
def foo():
a = 42
b = [1,2]
return a, b
aa, b_list = foo()
aa, (b1, b2) = foo()
しかし、私は最初の要素なしのリストを取得する方法がわからない:
後は正常に動作します
def bar():
a = 42
b = [1,2,3]
return a, b
aa, (_, b_list) = bar()
print(b_list) # Expecting [2,3]
# ValueError: too many values to unpack (expected 2)
はい、私はリストを取得し、最初の要素をドロップすることができますが、そこにありますこれのための1つのライナー?
この関数は、2つのシナリオサポートされるべきである、例えば、多用途であると考えられる。
aa, whole_list = foo()
aa, first_elem, rest_of_the_list = foo()
これは機能をアンパックする方法の詳細です。開始とタプルアンパックを見てください。例: 'aa、lst = foo()'または 'aa、(first、* rest)= foo()'はPython 3で動作するはずです。 – pylang
@pylangは 'aa、first、* rest = foo()'は動作していません。 '()'を追加する必要があります – Deqing
アップデートをご覧ください。 – pylang