在未给定值的情况下以 Pythonic 方式查找列表中的值

1 投票
3 回答
940 浏览
提问于 2025-04-16 15:09

这里有个例子可以说明我的意思:

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]

撰写回答