2012-01-10 26 views
0

(u,v)のような組み込みタプルがあります。それらはNetworkxによって生成され、グラフ内にリンクを表示します。私はlink_listという名前のリストを作成します。Pythonでかっこでタプルを分割する方法は?

私は結果があろうと、このような組分けする必要があります:u , v

私はdivmodを試みたが、それは正しい答えを与えるものではありませんが。

for link in link_list: 
    u,v = divmod(*link) 
    print u,v 
+2

「動作していません」という例を示してください。 – Marcin

+1

正解に期待していることを更に拡大できますか?たとえば、タプル '(23、42)'を渡した場合、どの出力を期待していますか? – Kevin

+0

FYIの 'divmod'は、その引数に対して除算が実行されたときの商と余りを返します。 'q、r = divmod(x、y)'は 'q、r = x/y、x%y'と等価です。 – chepner

答えて

6

シンプル:

for link in link_list: 
    u, v = link 
    print u, v 

それはsequence unpackingと呼ばれています。

3

あなたはタプル(x,y)を持っている、とあなたは二つの変数にそれをdestructureしたい場合は、構文は単純です:

u,v = (x,y) 
+1

私はそれを取得しません。既に 'x'と' y'を持っていれば、 'u、v = x、y'だけ使うことができます。あなたがタプル 'link'を持っているなら、' u、v = link'を実行します。答えに投稿した構造は決して必要ありません。 –

+0

@TimPietzcker:タプル '(x、y)'が変数に代入されているか、おそらく関数呼び出しの戻り値であると考えてください。 – Marcin

+1

その後、その変数または関数呼び出しを直接使用します。表示している例は役に立ちません。 –

9

次のように文の中の個々の変数にタプルを取得することができます。

for u,v in link_list: 
    print u,v 
+3

悲しいかな、最短で最も非平衡な解が最も投票されません。 (現在のところ) – Buttons840

+0

@ Buttons840他のほとんど同じ回答には、人々に魚を教える文書へのリンクが含まれていました。それはおそらくこの答えの代わりに受け入れられた理由です。 – istruble

+0

@istruble良い点。その答えはまた私からupvoteを受け取りました。 – Buttons840

関連する問題