2012-01-10 60 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

相关问题