我有内置的元组,看起来像(u,v)
。它们由Networkx生成,并在图形中显示链接。我列出了名为link_list
的列表。如何在Python中用圆括号分割元组?
我不得不拆分元组这样的结果将是:u , v
我试图divmod
但它没有给出正确的答案。
for link in link_list:
u,v = divmod(*link)
print u,v
我有内置的元组,看起来像(u,v)
。它们由Networkx生成,并在图形中显示链接。我列出了名为link_list
的列表。如何在Python中用圆括号分割元组?
我不得不拆分元组这样的结果将是:u , v
我试图divmod
但它没有给出正确的答案。
for link in link_list:
u,v = divmod(*link)
print u,v
如果你有一个元组(x,y)
,并希望将其解构两个变量,语法很简单:
u,v = (x,y)
我不明白。如果你已经有'x'和'y',你可以使用'u,v = x,y'。如果你有一个元组'link',那么你做'u,v = link'。你永远不需要你在答案中发布的构造。 – 2012-01-10 16:04:53
@TimPietzcker:假设元组'(x,y)'已经被赋值给一个变量,或者可能是函数调用的返回值。 – Marcin 2012-01-10 16:06:45
然后直接使用该变量或函数调用。您展示的示例没有用处。 – 2012-01-10 16:09:42
你可以解析成单个变量在for语句如下:
for u,v in link_list:
print u,v
唉,最短,最pythonic的解决方案是最不投票。 (截至目前。) – Buttons840 2012-01-10 16:38:50
@ Buttons840其他几乎相同的答案包含一个链接到教人们去钓鱼的文档。这可能是为什么它被接受而不是这个答案。 – istruble 2012-01-10 22:38:21
@istruble好点。这个答案也得到了我的赞赏。 – Buttons840 2012-01-11 16:58:45
请举一个这个“不工作”的例子。 – Marcin 2012-01-10 15:53:02
您可以进一步扩展您对正确答案的期望吗?例如,如果我给了你一个元组''(23,42)',你期望输出什么,你的代码目前会给你什么输出? – Kevin 2012-01-10 15:54:19
只是供参考,'divmod'在对参数进行除法时返回商和余数。 'q,r = divmod(x,y)'相当于'q,r = x/y,x%y'。 – chepner 2012-01-10 16:25:54