【超简便的Python】 提取两个列表的共同元素

简介: 【超简便的Python】 提取两个列表的共同元素

可以直接食用的代码:


def duplicate_removal(self, A, B):
    return set(A).intersection(set(B))

Python如何提取两个列表的共同元素?也就是取两个集合的交集。除了常规的循环外,Python提供了一些更简洁更美的表达法,比如可以用列表解析的方法,或者用 Python 内置的集合运算。


比如已有如下两个列表,Python如何提取两个列表的共同元素?


[1, 2, 3, 4, 5]

[4, 5, 6, 7, 8]

希望能得到


[4, 5]


方法一,列表解析


可以用列表解析, List comprehension 下的方法:


A = [1, 2, 3, 4, 5]
B = [4, 5, 6, 7, 8]
print([x for x in A if x in B]) # [4, 5]


方法二,集合运算


还可以用Python 的集合(set)运算,s.intersection(t) 返回s与t的交集


A = [1, 2, 3, 4, 5]
B = [4, 5, 6, 7, 8]
print(set(A).intersection(set(B))) # {4, 5}


番外:笨重的方法(顺便看看不推荐使用):


lst1 = [11, 22, 33]
lst2 = [22, 33, 44]
a = set(lst1)   # 转成元祖
b = set(lst2)
c = (a & b)  # 集合c和b中都包含了的元素
print('两个列表中相同的元素是:', end='')
for i in c:
    print(i, end=' ')
# fo循环实现方法
lst1 = [11, 22, 33]
lst2 = [22, 33, 44]
for i in lst1:
    if i in lst2:
        print(i, end=' ')
# fo循环嵌套实现方法
lst1 = [11, 22, 33]
lst2 = [22, 33, 44]
for i in lst1:
    for j in lst2:
        if i == j:
            print(i, end=' ')


相关文章
|
1天前
|
SQL 分布式计算 算法
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
|
1天前
|
Python
Python11道基础练习题_在一个整型列表中,找到最大的数并输出。 输入 一个列表,比如[28,1,5,11,19,0,21]((2)
Python11道基础练习题_在一个整型列表中,找到最大的数并输出。 输入 一个列表,比如[28,1,5,11,19,0,21]((2)
|
1天前
|
开发工具 Python
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
|
4天前
|
数据采集 数据挖掘 Python
10个python小技巧,优雅地书写人生_python列表遍历奇数偶数
10个python小技巧,优雅地书写人生_python列表遍历奇数偶数
|
4天前
|
存储 索引 Python
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
|
6天前
|
索引 Python
Python 中寻找列表最大值位置的方法
本文介绍了Python中找列表最大值及其位置的三种方法:1) 使用内置`max()`和`index()`函数;2) 通过循环遍历;3) 利用`enumerate()`函数和生成器表达式。每种方法均附有示例代码,其中`enumerate()`方法在保证效率的同时代码更简洁。
34 2
|
6天前
|
存储 机器学习/深度学习 数据可视化
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
11 1
|
6天前
|
JSON 数据处理 数据格式
Python中批量提取[]括号内第一个元素的四种方法
Python中批量提取[]括号内第一个元素的四种方法
23 1
|
6天前
|
存储 运维 数据挖掘
Python列表中每个元素前面连续重复次数的数列统计
Python列表中每个元素前面连续重复次数的数列统计
13 1
|
6天前
|
数据挖掘 计算机视觉 Python
Python实现对规整的二维列表中每个子列表对应的值求和
Python实现对规整的二维列表中每个子列表对应的值求和
12 0