求两个列表的交集.并集.差集 def diff(listA, listB): # 求交集的两种方式 retA = [i for i in listA if i in listB] retB = list(set(listA).intersection(set(listB))) print("retA is :", retA) print("retB is :", retB) # 求并集 retC = list(set(listA).union(set(listB))
list对象不能直接使用Except等封装好的函数,因为内存地址不一样(还有一些数虽然主数据一致但是update/create信息也不一致,对,我碰到的需求就是这么难受 TOT) 这时候我们的需求很多时候是想通过特定字段来进行比较判断,所以我们需要重写GetHashCode()与Equals(object obj)来进行定义: public override int GetHashCode() { return this.attribute.GetHashCode(); } public ove
直接上代码,有三种方法,第三种调用库函数效率最高 # ! /usr/bin/env python # encoding:utf-8 if __name__ == '__main__': a = [1,2,3,4,5] b = [2,3,6,7] u =[] dif =[] intersec = [] '''方法一,最简单的方法,容易想到的''' for item in a: u.append(item) if item in b: intersec.append(item) if item no
方法一: a=[1,2,3] b=[1,3,4] c=list(set(a).intersection(set(b))) print c #[1,3] 这种方法是先把list转换为set,再用set求交集的方法完成list求交集. set是一个无序不重复元素集,基本功能包括关系测试.消除重复元素.集合对象还支持并.交.差.对称差等. set支持x in set, len(set) 和 for x in set.作为一个无序的集合,set不记录元素位置或插入点,因此,set不支持indexing,
num =1 sum =0 while num <=99: if num % 2 ==1: sum = sum + num num =num +1 print(sum) 2.求1-2+3-4+5...99的所有数的和 num =1 sum =0 while num <=99: if num % 2 ==1: sum = sum + num else: sum =sum -num num =num +1 print(sum)