我遇到了问题:
这里的键是一个列表。
keys = [(6,4) , (6,8)]
键中的条目可以是4,5 ...或watever
现在,我只需要从中选择1个。所以我用过:
root = keys[0]
print root
输出:(6,4)
现在我必须制作一个空的套装,比如说......
closed = set()
for u,v of root:
if v not in closed:
closed.add(v)
for val in closed:
print val
它应该为集合添加值,即6和4.我应该如何实现它?以上方法是对还是错?我试过了,但没有给我正确的答案
答案 0 :(得分:2)
>>> keys = [(6,4) , (6,8)]
>>> root = keys[0]
>>> closed = set()
>>> closed.update(root)
>>> closed
{4, 6}
答案 1 :(得分:0)
您可以尝试将6和4添加到您的设置中:
closed = set()
closed.add(root[0])
closed.add(root[1])
但也许你应该多解释一下,你要做的是什么。然后我们可以帮助你更好。
行for u,v of root:
将无法编译。 (6,4)是一个元组,其中
是immutable sequence type。您可以使用[]获取其值
运算符(如上面的代码中所示)或者您可以像这样解压缩它:
(u,v) = root
如果您想要同时添加这两个值,则应在此处添加此调用 代码:
closed.add(u)
代码:
if v not in closed:
closed.add(v)
相当于:
closed.add(v)
一个集合确保每个元素只包含一次。
答案 2 :(得分:0)
如果我理解你的意思:
keys = [(6,4) , (6,8)]
closed = set()
map(closed.update, keys)
顺便说一下,这有点多余:
if v not in closed:
closed.add(v)
你可以这样做:
closed.add(v)
如果v已经关闭,则没有任何反应。