Python查找不在集合中的数字

Chr*_*row 13 python range set

我有一系列的数字,如1-100.我有一个包含所有数据的集合,或者该范围内的随机数字子集,例如:

s = set([1,2,3,35,67,87,95])
Run Code Online (Sandbox Code Playgroud)

什么是获得1-100范围内的所有数字的好方法?

Imr*_*ran 23

使用设定差异操作

set(range(1, 101)) - s
Run Code Online (Sandbox Code Playgroud)


Pra*_*ota 14

设定差异

set(range(1, 101)) - s
Run Code Online (Sandbox Code Playgroud)


Ach*_*him 6

all = set(range(1,101))
missing = all -s
Run Code Online (Sandbox Code Playgroud)

  • 从Python 2.5开始,`all`是内置函数的名称.您可能希望选择其他名称. (7认同)

Ada*_*itz 6

我会将不在集合中的所有项目添加到列表中。

s = set([1,2,3,35,67,87,95])

x = []
for item in range(1, 101):
    if item not in s:
        x.append(item)

print x
Run Code Online (Sandbox Code Playgroud)