小数据池 is id 集合增删查

小数据池  

小数据池。int str 在一定范围内,如果两个数值相同,为了节省内存,共用一个内存地址。
int : -5 ~ 256
str :   1,有非字母元素就不是小数据池。
2, 单个字母* int(21)存在小数据池。
剩下的类型 都不存在。

is

判断两个变量内存地址是否一致

id

变量的内存地址

集合set

用 {} 括起来的元素就是集合,  set()代表空集合。  集合是无序的!!!!!!!!!!!

set1 = {'alex', 'WuSir', 'RiTiAn', 'egon', 'barry'}
set1.add('太白')     # 无序添加
print(set1)

set1.update('abc') # 类似于 extend 迭代添加 set1.update([111, 2222, 333]) print(set1)

#remove按元素删除
set1.remove('RiTiAn')
print(set1)
#随机删除,有返回值 pop
print(set1.pop())
print(set1)

#清空clear
set1.clear()
print(set1)

#删除整体 del
del set1
print(set1)

set1 = {'alex', 'WuSir', 'RiTiAn', 'egon', 'barry'}
for i in set1:
    print(i)

交集 & intersetion

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
set3
= set1 & set2 print(set3) print(set1.intersection(set2))

并集 | union

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

print(set1 | set2)
print(set1.union(set2))

差集 - difference

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

print(set1 - set2)  # set1 独有
print(set2.difference(set1))  # set2 独有

反交集 ^ symmetric_difference

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

print(set1 ^ set2)
print(set1.symmetric_difference(set2))

子集      超集

set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5, 6}

print(set1 < set2)  # True set1 是set2的子集
print(set1.issubset(set2))  # True set1 是set2的子集

print(set2 > set1)  # True set2 是set1的超集
print(set2.issuperset(set1))  # True set2 是set1的超集

猜你喜欢

转载自www.cnblogs.com/luchenhui/p/9003137.html