python找出两个列表不同元素_python 找出两个列表的相同元素与不同元素

python 找出两个列表的相同元素与不同元素,用了以下几种方法

1. 通过set 集合

list1 = [1,2,3]

list2=[2,3,4]

set1 = set(list1)

set2 = set(list2)

print(set1&set2)

{2, 3}

print(set1^set2)

{1, 4}

2.利用for循环

'''

找出两个列表中的相同元素和不同元素。

'''

def find_diff_intwo_list(list1,list2):

'''

:param list1: 列表1

:param list2: 列表2

:return:

'''

same,diff=[],[]

seq=list(set(list2))

for i in list(set(list1)):

if i not in list2:

diff.append(i)

else:

same.append(i)

for j in same:

seq.remove(j)

print("same is {},diff is {}".format(same,diff+seq))

3.利用collections集合里的方法

def find_diff_by_twolist(list1,list2):

'''

:param list1: 列表1

:param list2: 列表2

:return:

'''

from collections import Counter

newli=list(set(list1)) + list(set(list2))

count=Counter(newli)

same, diff = [], []

for i in count.keys():

if(count.get(i)>=2):

same.append(i)

else:

diff.append(i)

print("same is {},diff is {}".format(same, diff))

if __name__ == '__main__':

find_diff_intwo_list([1,2,3,5,7,7,7,98],[93,0,2,6,7,98])

find_diff_by_twolist([1,2,3,5,7,7,7,98],[93,0,2,6,7,98])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值