Python:未知の数の変数に展開しますか?
-
08-07-2019 - |
質問
たとえばリストなどの不明なタプルをアンパックするにはどうすればよいですか?
データの列がいくつかあり、それらは何らかの関数によってタプルに分割されます。このタプルを変数にアンパックしたいのですが、どれだけの列があるかわかりません。必要な数の変数に動的に展開する方法はありますか?
ご協力ありがとうございます:)
解決
タプルをリストに展開しますか?
l = list(t)
他のヒント
アスタリスクを使用して、可変長をアンパックできます。例えば:
foo, bar, *other = funct()
これにより、最初のアイテムは foo
に、2番目は bar
に、残りはすべて other
に配置されます。
更新:これがPython 3.0のみと互換性があることを忘れていました。
その場で変数を作成したいのですか?動的に作成された場合、プログラムはそれらを参照する方法をどのように知るのですか?
タプルはリストと同様に長さがあります。次のようなことを行うことは完全に許可されています:
total_columns = len(the_tuple)
タプルをリストに変換することもできますが、結果の変更を開始したい場合を除き、それを行うメリットはありません。 (タプルは変更できません。リストは変更できます。)しかし、とにかく、タプルをリストに変換するのは簡単です:
my_list = list(the_tuple)
その場で変数を作成する 方法があります(たとえば、 eval
を使用して)
ここでやろうとしていることを正確に明確にする必要があると思います。
所属していません StackOverflow