Bridge619

Bridge619

Bridge619

命定的局限尽可永在,不屈的挑战却不可须臾或缺!

101 文章数
11 评论数
来首音乐
光阴似箭
今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

Python字典及其常用操作

Bridge619
2022-08-02 / 0 评论 / 553 阅读 / 0 点赞

1. 字典的定义

  • dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型
  • 字典同样可以用来 存储多个数据
  • 通常用于存储 描述一个 `物体` 的相关信息
  • 和列表的区别
  • 列表有序 的对象集合
  • 字典无序 的对象集合
  • 字典用 {} 定义
  • dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
  • 字典使用 键值对 存储数据,键值对之间使用 , 分隔
  • key 是索引
  • value 是数据
  • 之间使用 : 分隔
  • 键必须是唯一的
  • 可以取任何数据类型,但 只能使用 字符串数字元组

2.字典的常用操作

  • ipython3 中定义一个 字典,例如:xiaoming = {}
  • 输入 xiaoming. 按下 TAB 键,ipython 会提示 字典 能够使用的函数如下:
In [1]: xiaoming.
xiaoming.clear       xiaoming.items       xiaoming.setdefault
xiaoming.copy        xiaoming.keys        xiaoming.update
xiaoming.fromkeys    xiaoming.pop         xiaoming.values
xiaoming.get         xiaoming.popitem    
序号 分类 关键字 / 函数 / 方法 说明(dict为关键字,‘字典’为定义的具体字典)
1 查看 字典.['键'] 通过键来获取对应的值,与列表通过索引取值类似,用[]lihua_name['name']
key in 字典 如果键在字典里返回true,否则返回false
dict.items(xiaoming) or 字典.items() 以列表返回一个视图对象dict_items([('name', '小明'), ('age', 18), ('gender', True), ('height', 1.75)])
dict.keys(字典) 以列表的形式返回该字典的键
字典.values() 以列表的形式返回该字典的值
字典.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值
dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
2 增加 字典['键'] = 18 通过键值相对应的方式来增加新内容
3 修改 字典['键'] = 数据 修改该键对应的值
dict.update(dict2) 把字典dict2的键/值对更新到dict里
4 删除 字典.pop('键') 删除该键值对,返回被删除的值
字典.popitem() 返回并删除字典中的最后一对键和值
del 字典['键'] 删除该键值对
字典.clear() 清空该字典
del 字典 在内存中删除字典,删除后该字典不存在
5 统计 len(字典) 统计字典中键值对的数量
列表.count(数据) 数据在列表中出现的次数
6 输出字典 str(dict) 输出字典,用可以打印的字符串表示
7 在原字典上的操作 dict.copy(字典) or 字典.copy() 返回一个字典的浅复制
dict.fromkeys(字典) or 字典.fromkeys 创建一个新字典,以原字典中的键做新字典的键,val为字典所有键对应的初始值(None)

3. 循环遍历

  • 遍历 就是 依次字典 中获取所有键值对
xiaoming = {"name""小明",
            "age"18,
            "gender"True,
            "height"1.75}
# 变量k是每一次循环中,获取到的键值对的key

for k in xiaoming:

    print("%s: %s" % (k, xiaoming[k]))
Out:
name: 小明
age: 18
gender: True
height: 1.75

提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多

4.应用场景

  • 尽管可以使用 for in 遍历 字典
  • 但是在开发中,更多的应用场景是:
  • 使用 多个键值对,存储 描述一个 `物体` 的相关信息 —— 描述更复杂的数据信息
  • 多个字典 放在 一个列表 中,再进行遍历,在循环体内部针对每一个字典进行 相同的处理
card_list = [{"name""张三",
              "qq""12345",
              "phone""110"},
             {"name""李四",
              "qq""54321",
              "phone""10086"}
             ]
for card_info in card_list:
    print(card_info)
# 字典中保存的数据是无序的,列表中保存的数据是有序的
# 重复运行字典里的顺序会变,但是列表中两个字典的顺序不会变
Out:
{'name''张三''qq''12345''phone''110'}
{'name''李四''qq''54321''phone''10086'}
文章不错,扫码支持一下吧~
上一篇 下一篇
评论