3 回答
HUH函数
TA贡献1836条经验 获得超4个赞
您可以使用设置操作
In [13]: a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
...: b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
In [14]: list(set(a) & set(b))
Out[14]: [1, 2, 3, 5, 8, 13]
您的代码的问题是输出中的重复元素。您可以通过在输出上应用 set 运算符来避免这种情况
common_list = list(set(i for i in a if i in b))
叮当猫咪
TA贡献1776条经验 获得超12个赞
您还可以这样做:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
set(a).intersection(b)
set(a) & set(b)我觉得这比因为对我来说感觉有点太“神奇”而更具可读性。
MM们
TA贡献1886条经验 获得超2个赞
您可以使用设置交集:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
out = list(set(a).intersection(set(b)))
print(out)
输出:
[1, 2, 3, 5, 8, 13]
添加回答
举报
0/150
提交
取消