给定集合,下面哪个片段看起来更好?
if len(s) == 1:
v = s.copy().pop()
# important stuff using variable v takes place here或
if len(s) == 1:
v = s.pop()
s.add(v)
# important stuff using variable v takes place here或
if len(s) == 1:
for v in s:
# important stuff using variable v takes place here我想最后一个部分是最有效的,但是使用一个从来没有循环的循环看起来是不是很傻呢?
为什么python集没有一个替代方法来弹出不移除项的选项呢?
这似乎是一个微不足道的问题,但当我多次遇到这种情况时,它已经成为一个需要抓挠的痒!
发布于 2011-05-23 01:21:23
可以将唯一的元素分配给v,如下所示:
(v,) = the_set如果the_set不包含确切的一个项,则会引发异常。
发布于 2011-05-23 01:17:44
为什么python没有一个替代方法来弹出不移除项的
呢?
如果您想在不更改set结构的情况下访问第一个(且仅)项,请使用迭代器:
v = iter(s).next()在Python 3中,您需要使用内置的next函数:
v = next(iter(s))https://stackoverflow.com/questions/6091922
复制相似问题