集合(set)
集合主要有两种用处:
1.去除相同的元素
2.关系测试,两个列表中的元素的关系
按照‘alex’讲的自己写了源码笔记,下面就直接贴出来:
#!/usr/bin/env python
# -*- coding utf-8 -*-
# Author:qinjiaxi
'''集合有两种用处:
1.去同
2.关系测试'''
list_1 = [1, 2, 3, 5, 2, 5, 7]
list_1 = set(list_1)
list_2 = [1, 10, 2, 9, 8, 1]
list_2 = set(list_2)
#交集
print(list_1.intersection(list_2))
print(list_1 & list_2)
#并集
print(list_1.union(list_2))
print(list_1 | list_2)
#差集
print(list_1.difference(list_2))#返回list_1中有的list_2中没有的
print(list_1 - list_2)
#子集
print(list_1.issubset(list_2))#判断list_1是不是list_2的子集,返回布尔值
#父集
print(list_1.issuperset(list_2))#判断list_1是不是list_2的父集,返回布尔值
#对称差集
print(list_1.symmetric_difference(list_2))#把list_1和list_2里面都没有的取出来
print(list_1 ^ list_2)
#关系测试
print(list_1.isdisjoint(list_2))#如果两个没有重复元素返回True,否则为False #添加(add)
list_1.add(999)#添加一项
list_1.update([11, 222, 223])#添加多项(用的少)
#删除(modifiy)
list_1.remove(999)#指定元素删除(元素不存在就报错)
list_1.pop()#随机删除并返回元素
list_1.discard(999)#指定元素删除(元素不存在不会报错,如果打印出来就返回None) #集合长度
len(set)
#测试x是否在set中
# x in set
# x not in set