07-Python-字典(dict)介绍

本文详细介绍了Python字典的基本概念、常用方法,包括创建、操作(如键值对设置与删除)、查看和复制,以及新版本3.9的合并功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 字典

  • 定义:可以把字典理解为 键: 值 对的集合,但字典的键必须是唯一的。花括号 {} 用于创建空字典,注:字典也是可变类型

   1.1 常用方法

  • list(d):返回字典 d 中使用的所有键的列表
  • len(d):返回字典 d 中的项数
  • d[key]:返回 d 中以 key 为键的项。 如果映射中不存在 key 则会引发 KeyError
  • d[key] = value:将 d[key] 设为 value
  • del d[key]:将 d[key] 从 d 中移除。 如果映射中不存在 key 则会引发 KeyError
  • key in d:如果 d 中存在键 key 则返回 True,否则返回 False
  • iter(d):返回以字典的键为元素的迭代器。 这是 iter(d.keys()) 的快捷方式
  • clear():移除字典中的所有元素
  • copy():返回原字典的浅拷贝
  • get(key[, default]):如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出则默认为 None,因而此方法绝不会引发 KeyError
  • items():返回由字典项 ((键, 值) 对) 组成的一个新视图
  • keys():返回由字典键组成的一个新视图
  • pop(key[, default]):如果 key 存在于字典中则将其移除并返回其值,否则返回 default。 如果 default 未给出且 key 不存在于字典中,则会引发 KeyError
  • values():返回由字典值组成的一个新视图
  • reversed(d):返回一个逆序获取字典键的迭代器。 这是 reversed(d.keys()) 的快捷方式
  • setdefault(key[, default]):如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并返回 default 。 default 默认为 None
  • update([other]):使用来自 other 的键/值对更新字典,覆盖原有的键。 返回 None

d | other:合并 d 和 other 中的键和值来创建一个新的字典,两者必须都是字典。当 d 和 other 有相同键时, other 的值优先(3.9新功能)

# -*- coding: utf-8 -*-
# @Time    : 2021/1/31
# @Author  : 大海

# 创建空字典
info = dict()
info1 = {}

d = dict(name='大海', age=27, base='大连', professional='测试工程师')
t = {'name': '大海', 'age': '27', 'base': '大连', 'professional': '测试工程师'}
f = {'red': 'a', 'blue': 'b', 'green': 'c'}
print(d)
# 返回键的列表
print(list(d))

# 返回字典 d 中的项数
print(len(d))
print(len(info))

# 返回 d 中以 key 为键的项。 如果映射中不存在 key 则会引发 KeyError
print(d['name'])
# print(info['name'])


# 将 d[key] 设为 value
d['name'] = '小白'
print(d)

# 将 d[key] 从 d 中移除。 如果映射中不存在 key 则会引发 KeyError
del d['age']
print(d)

# 如果 d 中存在键 key 则返回 True,否则返回 False
res = 'name' in d
print(res)

# 返回以字典的键为元素的迭代器。 这是 iter(d.keys()) 的快捷方式
keys = iter(d)
print(list(keys))

# 移除字典中的所有元素
d.clear()
print(d)

# 返回原字典的浅拷贝
t1 = t.copy()
print(t1)
print(id(t), id(t1))

# 如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出则默认为 None,因而此方法绝不会引发 KeyError
age = t.get('age')
print(age)
birthday = t.get('birthday', '五月初四')
print(birthday)
birthday = t.get('birthday')
print(birthday)

# 返回由字典项 ((键, 值)) 组成的一个新视图
print(t.items())

# 返回由字典键组成的一个新视图
print(t.keys())

# 如果 key 存在于字典中则将其移除并返回其值,否则返回 default。 如果 default 未给出且 key 不存在于字典中,则会引发 KeyError
t.pop('base')
print(t)

# 返回由字典值组成的一个新视图
values = t.values()
print(values)

# 返回一个逆序获取字典键的迭代器。 这是 reversed(d.keys()) 的快捷方式
reversed(t)  # python3.8以上版本有效
print(t)

# 如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并返回 default 。 default 默认为 None
t.setdefault('base', '辽宁')
print(t)
t.setdefault('age', '28')
print(t)

# 使用来自 other 的键/值对更新字典,覆盖原有的键。 返回 None
f.update(red=1, blue=2)
print(f)

# 合并 d 和 other 中的键和值来创建一个新的字典,两者必须都是字典。当 d 和 other 有相同键时, other 的值优先
print(t | f)  # 3.9特性


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值