Python 高级数据类型之字典(dictionary)

以下是本人最近学习字典中的相关说明及代码分享。

字典的定义

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

字典常用操作方法
在ipython3中定义一个列表person_dict ={"name":"小明"}
输入person_dict. 按下Tab键,ipython会提示列表能够使用的方法如下:

clear()  get    pop         update
copy     items  popitem     values
fromkeys keys   setdefault
序号关键字/函数/方法说明
1字典.clear()删除字典内所有元素
2字典.copy()返回一个字典的浅复制
3dict.fromkeys(seq,value)创建一个新字典,以元组seq中元素做字典的键,val为字典所有键对应的初始值
4字典.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
5key in 字典如果键在字典dict里返回true,否则返回false
6字典.items()以列表返回可遍历的(键, 值) 元组数组
7字典.keys()返回一个迭代器,可以使用 list() 来转换为列表
8字典.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9字典…update(字典2)把字典2的键/值对更新到字典里
10字典.values()返回一个迭代器,可以使用 list() 来转换为列表
11字典.pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12字典.popitem()随机返回并删除字典中的最后一对键和值。
dictionary_09_字典的定义

代码

# 字典是一个无序的数据集合,使用print函数输出时,通常和定义的顺序是不一致的
person = {"name": "小明",
          "age": 18,
          "gender": True,
          "height": 1.98,
          "weight": 77.5}

print(person)

输出结果

{‘name’: ‘小明’, ‘age’: 18, ‘gender’: True, ‘height’: 1.98, ‘weight’: 77.5}

dictionary_10_字典基本使用

代码

person_dict = {"name": "小明",
               "age": 23}
# 取值
print(person_dict["name"])
# 在取值时,指定的key不存在,程序会报错 KeyError: 'name23'
# print(person_dict["name23"])

# 增加/修改
person_dict["height"] = 1.76
print(person_dict)
person_dict["age"] = 18
print(person_dict)
# 删除
person_dict.pop("age")
print(person_dict)

输出结果

小明
{‘name’: ‘小明’, ‘age’: 23, ‘height’: 1.76}
{‘name’: ‘小明’, ‘age’: 18, ‘height’: 1.76}
{‘name’: ‘小明’, ‘height’: 1.76}

dictionary_11_字典的其他操作

代码

person_dict = {"name": "小明",
               "age": 23}
# 统计字典键值对数量
print(len(person_dict))

# 合并字典
temp_dict = {"height": 1.98,
             "age": 18}
# 如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
person_dict.update(temp_dict)
print(person_dict)

# 创建一个新字典
seq = ("xingming","nianling","shengao")
new_dict = dict.fromkeys(seq, 10)
print(new_dict)

# 清空字典
person_dict.clear()
print(person_dict)

输出结果

2
{‘name’: ‘小明’, ‘age’: 18, ‘height’: 1.98}
{‘xingming’: 10, ‘nianling’: 10, ‘shengao’: 10}
{}

dictionary_12_字典遍历

代码

person_dict = {"name": "小明",
               "address": "https://blog.csdn.net/weixin_44152160/article/details/105347472",
               "Phone": "weixin_44152160"}

# 迭代遍历字典
for k in person_dict:
    print("%s---%s" % (k, person_dict[k]))

输出结果

name—小明
address—https://blog.csdn.net/weixin_44152160/article/details/105347472
Phone—weixin_4415216

dictionary_13_字典的应用场景

代码

# 使用多个键值对存储描述物体的信息,
# 将多个字典放在列表中进,进行循环
card_list = [{"name": "张三",
              "QQ": "666666",
              "Phone": "10086"},
             {"name": "李四",
              "QQ": "888888",
              "Phone": "10010"}]

for card_info in card_list:
    print(card_info)

输出结果

{‘name’: ‘张三’, ‘QQ’: ‘666666’, ‘Phone’: ‘10086’}
{‘name’: ‘李四’, ‘QQ’: ‘888888’, ‘Phone’: ‘10010’}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值