python 数据类型Ⅳ(集合)
内容补充:
-
列表功能:
-
v = [1,2,3,4,5,6]
v.reverse()
print() #[6, 5, 4, 3, 2, 1] -
.sort()排序
v = [1,3,7,4,5,6]
v.sort()
print() #[1, 3, 4, 5, 6, 7]
#v.sort() 从小到大排序(默认)
#v.sort(reverse=True) 从大到小排序
-
-
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 -
pop删除&del -
update()更新_存在覆盖更新,不存在添加
info = {'k1':'v1','k2':'v2'}
info.update({'k1':'v0','k3':'v3'})
print(info) #{'k1': 'v0', 'k2': 'v2', 'k3': 'v3'}
-
-
判断字符串是否存在敏感字符
-
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.集合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()
""" -
在字典中True与数字1重复,False与数字0重复
1.集合独有功能,
-
.add() 添加
-
.discard()删除
-
要修改,需要先删除再添加
-
.clear()清空
-
.update()
info = {'k1','k2'}
info.update({'k1','k3','v3'})
print(info) #{'k1','k2','k3','v3'} -
.intersection() 交集
命令后的 () 可以是集合,也可以是列表.
info = {1,2,3}
print(info.intersection({1,3,4})) #{1,3} -
.union()并集
info = {1,2,3}
print(info.union({1,3,4})) #{1,2,3,4} -
.difference()差集
info = {1,2,3}
print(info.union({1,3,4})) #{2,4}
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) -
内存地址
a = 1
b = 1
id(a) = id(b)
#按理说a与b的id不该一样,但是在python中,为了提高运算性能,对某些特殊情况进行了缓存.(小数据池)缓存对象:
1. 整型: -5 ~ 256
2. 字符串:"alex",'asfasd asdf asdf d_asdf ' ----"f_*" * 3 - 重新开辟内存。 -
== 与is 区别
-
==比较的是值是否一致
-
is 比较内存地址是否一致
-
今日重点
-
列表
-
reverse
-
sort
-
-
字典
-
get (*)
-
update
-
-
集合
-
add
-
discard
-
update
-
intersection (*)
-
union
-
difference
-
.....
-
-
特殊:
-
嵌套:集合/字典的key
-
空:None
-
空集合:...
-
-
id
-
type
-
嵌套的应用: (*)
-
赋值
-
修改内部元素:列表/字典/集合
-