列表a是否包含列表b中的所有元素,两种方法
1.转换成集合(set),求交集后判断是否与较小的列表相等
适用于已知的列表
a = [3, 5, 4, 1, 2, 7, 6] b = [3, 4, 5, 6, 7] if set(a)&set(b) == set(b): print "a包含b的所有元素"
2.列表通过逻辑操作比较
a = [3, 5, 4, 1, 2, 7, 6] b = [3, 4, 5, 6, 7] c = [False for i in b if i not in a] #for前面的条件是True 也是可以的,需要后面使用过程中在做研究 if c: print "a不包含b的所有元素" else: print "a包含b的所有元素"
推导:
a = [3, 5, 4, 1, 2, 7, 6] b = [3, 4, 5, 6, 7] c = [] for i in b: if i not in a: c.append(i) if c: print "a不包含b的所有元素" else: print "a包含b的所有元素"
参考地址:
https://blog.csdn.net/vitaminc4/article/details/78971055
http://www.iplaypy.com/jichu/set.html
学习的是为了更快、更好的解决问题,不要让学习本身成为问题!