python - 在多个列表中查找共同值
问题描述
所以我有数字列表,我想找到所有列表中存在的数字。如果可能的话,我不喜欢使用循环。
这是一个例子
a = [1, 2, 3, 4]
b = [2, 3, 4, 5, 6]
c = [3, 4, 5, 6, 10, 12]
df['A'] = [a, b, c]
预计输出为
[3, 4]
我的问题是,列表的数量没有给出也没有固定。它可以是大约 20 个不同长度的列表(例如 [a, b, c, d, e, g, ..., l])
我已经看到使用 set(a) & set(b) & set(c) 的答案,但我不确定如何在我的情况下应用它。
解决方案
您可以使用地图和设置。交叉口:
>>> a = [1, 2, 3, 4]
>>> b = [2, 3, 4, 5, 6]
>>> c = [3, 4, 5, 6, 10, 12]
>>> elements_in_all = list(set.intersection(*map(set, [a, b, c])))
>>> elements_in_all
[3, 4]
推荐阅读
- php - 插入表格但避免多列重复
- amazon-web-services - 搜索 AWS 账户中所有 AWS Lambda 函数的环境变量的值
- encoding - 计算机如何知道二进制中数字和字母的区别?
- laravel - Laravel/Lumen 路由可选 url 查询参数
- r - 将函数应用于数据库的每一列
- c# - Fleck WebSocket 将重复的消息发送回客户端
- c# - C# 中带有 MD5+SHA1 哈希的 RSA 签名
- java - 在类中创建字符串,java
- c++ - Wxwidgets - 如何添加调整大小事件处理程序以使“X”绘图随窗口调整大小?
- mysql - 多租户架构中的 Hikaricp jdbc 身份验证