for循环方式求交集
#!/usr/bin/env python #coding:utf-8 #取交集 #定义两个序列对象,求alist与blist对象的交集元素 alist = [2,9,3,4,5,6,7,8] blist = [9,2,1,10,33,2,3] #定义一个空list对象,放最终的结果 reslut = [] #遍历alist对象 for x in alist: if x in blist: #如果alist对象中有元素在blist对象里则添加到reslut对象 reslut.append(x) print reslut
2、改成函数的方式
alist = [2,9,3,4,5,6,7,8] blist = [9,2,1,10,33,2,3] def intersect(seq1,seq2): reslut = [] for x in alist: if x in blist: reslut.append(x) return reslut if __name__ == ‘__main__‘: reslut = intersect(alist,blist) print reslut
3、使用类的方式
class Ops: ‘‘‘定义类函数,返回两个序列的交集‘‘‘ def intersect(self,seq1,seq2): reslut = [] for i in seq1: if i in seq2: reslut.append(i) return reslut if __name__ == ‘__main__‘: a_seq = [1,3,5,7,9] b_seq = [1,2,4,7,8] res = Ops() reslut = res.intersect(a_seq,b_seq) print reslut
当然用set集合的方法直接就可以搞定。
注意alist对象与blist对象取交集,不等同于blist对象与alist对象去交集的结果。
时间: 2024-12-17 05:38:48