python之路---05 字典 集合,python---05,二十、字典


二十、字典

可变数据类型

{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()) 把集合变成 不可变 的

python之路---05 字典 集合

评论关闭