首页 > 解决方案 > Python中的列表理解解决以下问题

问题描述

进行列表推导以返回另一个数字列表中不存在的数字列表。

使用列表推导定义从 1 到 50 的数字列表。

定义另一个列表 blist 并将其值存储为

[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47]

使用列表推导制作一个最终列表,该列表将包含 alist 中但不在 blist 中的元素。

打印最终

alist = [x for x in range(1,51)]
blist = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47]
final = [i for i in range (len(alist)) if i not in blist ]
print (final)

标签: pythonpython-3.xlist

解决方案


在这种情况下,您可以使用 set() 来清除重复项:

alist = [x for x in range(1,51)]
blist = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47]
final = set(alist) - set(blist)
print (list(final))

输出:

[1, 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50]

推荐阅读