二十、字典
可变数据类型
{key:value}形式 查找效率高 key值必须是不可变的数据类型
1.增删改查
1).增
dic["新key"] = "新value" 追加新元素
dic.setdefault(新key,新value) 如果key存在 不添加
如果key不存在, 添加{新key:新value}
2).删
.pop("key") 关键字删除
.popitem() 删除最后一项(早期时字典是无序的,就是随机删除一项)
del dic["key"] 索引和切片删除
dic.clear() 清空
3).改
dic.["老key"] = "新value"
dic.update(dic1) 更新 把dic1中的内容更新到dic中
4).查
① dic[key] 关键字查找 没有时报错
② .get(key) 没有时返回 None
.get("key",没有这个) 没有时返回“没有这个”
③ .setdefault(key,value)
key存在时, 把 老value 查出来
key不存在时,添加 新的key和value, 并查出来
5).其他操作
.key() 获取所有的key值
.value() 获取所有的value值
.items() 获取所有的 键值对
2.dic的遍历 for循环
遍历字典两套方案
dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
①. 使用for循环直接遍历字典的key
for key in dic:
print(key)
print(dic[key])
②. 可以使用字典的items()+解构可以直接获取到key和value(解包)
for k, v in dic.items():
print(k)
print(v)
二十一、集合 set() { } 表示
本事是无序的、不重复的、可变的、 不可哈希的 。
1.内部元素是不可变的 ,因此不可嵌套 。 是一种只含key的字典。
2. ① 没有索引和切片
②增
.add("x")
.update({"xx"}) 添加元素 "xx"
.update("xx") 添加两个元素 "x"
③删
.pop() 随机删除一个
.remove("x") 指定删除
④改 先删后加
⑤查 for循环
⑥交集 s1 & s2
s1.intersection(s2)
⑦差集 s1 - s2
s1.differrence(s2)
⑧并集 s1 | s2
s1.union(s2)
⑨反交集 s1 ^ s2
s1.symmetric_difference(s2)
⑩ s = frozenset(set()) 把集合变成 不可变 的