数据类型-集合
# 4-3数据类型-集合
# 内容补充:
列表功能:
.reverse()反转
v = [1,2,3,4,5,6] v.reverse() print() #[6, 5, 4, 3, 2, 1]
1
2
3.sort()排序
v = [1,3,7,4,5,6] v.sort() print() #[1, 3, 4, 5, 6, 7] #v.sort() 从小到大排序(默认) #v.sort(reverse=True) 从大到小排序
1
2
3
4
5
None就是空,什么都没有,输出为False.
字典功能(重要):
.get()取值
info = {'k1':'v1','k2':'v2'} a = info.get('k1') print(a) #v1 info2 = ['11111'] b = info.get('11111',22222) print(b) #22222
1
2
3
4
5
6pop删除&delupdate()更新_存在覆盖更新,不存在添加
info = {'k1':'v1','k2':'v2'} info.update({'k1':'v0','k3':'v3'}) print(info) #{'k1': 'v0', 'k2': 'v2', 'k3': 'v3'}
1
2
3
判断字符串是否存在敏感字符
in/not in 是否包涵(输出类型为bool类型)
str/list/tuple/dict都适用
# # 经典例题 # # # 让用户输入任意字符串,然后判断此字符串是否包含指定的敏感字符。 #char_list = ['利奇航','堂有光','炸展会'] #content = input('请输入内容:') # 我叫利奇航 / 我是堂有光 / 我要炸展会 char_list = ['利奇航','堂有光','炸展会'] i = True content = input('请输入内容:') for mes in char_list: if mes in content: i = False break if i: print(无敏感字符) else: print(包含敏感字符)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 1.集合set
无序,不可重复
空集合为False
空字典{}
空集合set()
v = {1,2,3,4,5,6,99,100} # 疑问:v = {} """ None int v1 = 123 v1 = int() --> 0 bool v2 = True/False v2 = bool() -> False str v3 = "" v3 = str() list v4 = [] v4 = list() tuple v5 = () v5 = tuple() dict v6 = {} v6 = dict() set v7 = set() """
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26在集合中True与数字1重复,False与数字0重复
# 1.集合独有功能,
.add() 添加
.discard()删除
要修改,需要先删除再添加
.clear()清空
.update()
info = {'k1','k2'} info.update({'k1','k3','v3'}) print(info) #{'k1','k2','k3','v3'}
1
2
3.intersection() 交集
命令后的 () 可以是集合,也可以是列表.
info = {1,2,3} print(info.intersection({1,3,4})) #{1,3}
1
2.union()并集
info = {1,2,3} print(info.union({1,3,4})) #{1,2,3,4}
1
2.difference()差集
info = {1,2,3} print(info.union({1,3,4})) #{2,4}
1
2
# 2.公共功能
- len()
- for循环
# 3.嵌套
- 列表, 字典和集合为可更改类型,不可哈希,不能存放在集合当中.
# 2.内存相关
id(查看内存地址)
赋值更改内存地址,内部变更改变量的值
v1 = [11,22,33] v2 = v1 # 练习1 (内部修改) v1 = [11,22,33] v2 = v1 v1.append(666) print(v2) # 含 666 # 练习2:(赋值) v1 = [11,22,33] v2 = v1 v1 = [1,2,3,4] print(v2) # 练习3:(重新赋值) v1 = 'alex' v2 = v1 v1 = 'oldboy' print(v2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20内存地址
a = 1 b = 1 id(a) = id(b) #按理说a与b的id不该一样,但是在python中,为了提高运算性能,对某些特殊情况进行了缓存.(小数据池)缓存对象: 1. 整型: -5 ~ 256 2. 字符串:"alex",'asfasd asdf asdf d_asdf ' ----"f_*" * 3 - 重新开辟内存。
1
2
3
4
5
6== 与is 区别
- ==比较的是值是否一致
- is 比较内存地址是否一致
# 今日重点
- 列表
- reverse
- sort
- 字典
- get (*)
- update
- 集合
- add
- discard
- update
- intersection (*)
- union
- difference
- .....
- 特殊:
- 嵌套:集合/字典的key
- 空:None
- 空集合:...
- id
- type
- 嵌套的应用: (*)
- 赋值
- 修改内部元素:列表/字典/集合
上次更新: 2023/04/16, 18:35:33