在未给定值的情况下以 Pythonic 方式查找列表中的值
这里有个例子可以说明我的意思:
a = 0
b = 1
c = range(3)
我想找出这个列表中缺失的数字,在这个例子里就是2。
我现在编写的程序方法很麻烦,而且看起来不太好。
如果有一个和list.append()相反的函数,可以用来从列表中移除值,那就太好了。
谢谢!
3 个回答
1
list.remove
这个方法可以从列表中删除第一个出现的指定值。如果你想要专门删除最后一个添加的项目,可以使用 list.pop
。
4
使用集合:
>>> a = 0
>>> b = 1
>>> c = range(3)
>>> set(c) - set([a, b])
set([2])
2
使用集合差集的方法,先把列表转换成集合,然后进行集合差集操作。
>>> supplied_list = [0, 1]
>>> list(set(range(3)) - set(supplied_list))
[2]