昨日内容复习
小数据池
针对字符串与数字
int -5~256
str 特殊字符*不超过20
今日: 集合
(用的少,但必须了解)
1.集合中的元素必须为不可变的数据类型
2.无序
3.不重复
集合的增删查,没有改
增
add()
无序
set1 = {'ma', 'sheng', 'de'}
set1.add('boy')
print(set1)
update
set1 = {'ma', 'sheng', 'de'}
set1.update('abc')
print(set1)
删
pop()
随机删除,有返回值
set1 = {'ma', 'sheng', 'de'}
set1.pop()
print(set1)
remov()
按元素删除
set1 = {'ma', 'sheng', 'de'}
set1.remove('ma')
print(set1)
clear()
清空
set1 = {'ma', 'sheng', 'de'}
set1.clear()
print(set1)
del
删除整个集合
set1 = {'ma', 'sheng', 'de'}
del set1
查
只能用for循环去查
set1 = {'ma', 'sheng', 'de'}
for i in set1:
print(i)
集合的各种集
交集的两种方式:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
set3 = set1 & set2
set4 = set1.intersection(set2)
print(set3, set4)
并集的两种方式:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
set3 = set1 | set2
set4 = set1.union(set2)
print(set3, set4)
反交集:
除了交集以外的
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
set3 = set1 ^ set2
set4 = set1.symmetric_difference(set2)
print(set3, set4)
差集
set1独有的
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
set3 = set1 - set2
set4 = set1.difference(set2)
print(set3, set4)
子集
set1 是 set2 的子集
返回Bool
set1 = {1, 2, 3, 4, 5}
set2 = {1, 2, 3, 4, 5, 6, 7, 8}
set3 = set1 < set2
set4 = set1.issubset(set2)
print(set3, set4)
超集
set2是set1的超集,对应set1是set2的子集
set1 = {1, 2, 3, 4, 5}
set2 = {1, 2, 3, 4, 5, 6, 7, 8}
set3 = set2 > set1
set4 = set2.issuperset(set1)
print(set3, set4)
如何将集合变成不可变的数据类型
只读
s = frozenset('barry')
print(s)
print(type(s))
基础数据类型汇总及补充
str
isspace()
返回布尔值
s = ' '
f = s.isspace()
print(f)
list
例题:
1.删除偶数位置上的数据
lis = [11, 22, 33, 44, 55]
for i in range(len(lis)):
if i+1 < len(lis):
del lis[i+1]
print(lis)
2.删除字典中带‘k’的键值内容
第一种方法
dic = {'k1': 'v1', 'k2': 'v2', 'a3': 'v3'}
l = []
for i in dic:
if 'k' in i:
l.append(i)
for i in l:
del dic[i]
print(dic)
第二种方法
dic = {'k1': 'v1', 'k2': 'v2', 'a3': 'v3'}
dic1 = {}
for i in dic:
if 'k' not in i:
dic1.setdefault(i,dic[i])
dic = dic1
print(dic)
什么转化为BOOL全为false
数字:0
字符串:’’
列表:[]
元祖:()
字典:{}
集合:()
其他都为true
面试题
去除重复的值
li = [1, 2, 33, 33, 2, 1, 4, 5, 66]
set1 = set(li)
li = list(set1)
print(li)
元祖中若有一个元素且不加逗号该是什么元素就是什么元素
tu = (1)
tu1 = (1,)
print(tu, type(tu))
print(tu1, type(tu1))
一个是数字一个是元祖