17

未知のタプルを、たとえばリストに展開するにはどうすればよいでしょうか?

いくつかのデータ列があり、それらはいくつかの関数によってタプルに分割されます。このタプルを変数にアンパックしたいのですが、列数がわかりません。必要な数の変数に動的にアンパックする方法はありますか?

4

3 に答える 3

34

たとえば、アスタリスクを使用して可変長をアンパックできます。

foo, bar, *other = funct()

これにより、最初のアイテムがfooに、2 番目のアイテムが にbar、残りのすべてが に配置されotherます。

更新:これは Python 3.0 のみと互換性があることを忘れていました。

于 2009-01-10T23:24:12.327 に答える
10

タプルをリストにアンパックしますか?

l = list(t)
于 2009-01-10T23:18:02.917 に答える
4

その場で変数を作成したいということですか? それらが動的に作成された場合、プログラムはそれらを参照する方法をどのように知るのでしょうか?

リストと同様に、タプルには長さがあります。次のようなことをしてもまったく問題ありません。

total_columns = len(the_tuple)

タプルをリストに変換することもできますが、結果の変更を開始したい場合を除き、そうすることには何のメリットもありません。(タプルは変更できませんが、リストは変更できます。) しかし、とにかく、タプルをリストに変換するのは簡単です:

my_list = list(the_tuple)

その場で変数を作成する方法はいくつかあります (たとえば、 を使用) eval

ここで何をしようとしているのかを正確に明確にする必要があると思います。

于 2009-01-10T23:23:39.210 に答える