2012-01-10 61 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 2012-01-10 15:53:02

+1

您可以進一步擴展您對正確答案的期望嗎?例如,如果我給了你一個元組''(23,42)',你期望輸出什麼,你的代碼目前會給你什麼輸出? – Kevin 2012-01-10 15:54:19

+0

只是供參考,'divmod'在對參數進行除法時返回商和餘數。 'q,r = divmod(x,y)'相當於'q,r = x/y,x%y'。 – chepner 2012-01-10 16:25:54

回答

3

如果你有一個元組(x,y),並希望將其解構兩個變量,語法很簡單:

u,v = (x,y) 
+1

我不明白。如果你已經有'x'和'y',你可以使用'u,v = x,y'。如果你有一個元組'link',那麼你做'u,v = link'。你永遠不需要你在答案中發佈的構造。 – 2012-01-10 16:04:53

+0

@TimPietzcker:假設元組'(x,y)'已經被賦值給一個變量,或者可能是函數調用的返回值。 – Marcin 2012-01-10 16:06:45

+1

然後直接使用該變量或函數調用。您展示的示例沒有用處。 – 2012-01-10 16:09:42

9

你可以解析成單個變量在for語句如下:

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

唉,最短,最pythonic的解決方案是最不投票。 (截至目前。) – Buttons840 2012-01-10 16:38:50

+0

@ Buttons840其他幾乎相同的答案包含一個鏈接到教人們去釣魚的文檔。這可能是爲什麼它被接受而不是這個答案。 – istruble 2012-01-10 22:38:21

+0

@istruble好點。這個答案也得到了我的讚賞。 – Buttons840 2012-01-11 16:58:45

相關問題