Python教程14:字典基础

Python 教程 14:字典基础 “一把钥匙开一把锁。” 字典(Dictionary)是 Python 中最灵活、最强大的数据结构之一。它通过"键-值对"的方式存储数据,就像真实世界的字典用单词查释义一样。 1. 什么是字典 字典是一个无序的、可变的键值对集合。 1# 创建字典 2empty_dict = {} # 空字典 3user = { 4 "name": "张三", 5 "age": 25, 6 "city": "北京" 7} 8 9# 使用dict()函数 10from_pairs = dict([("a", 1), ("b", 2)]) 11from_keywords = dict(name="李四", age=30) 12 13# 字典推导式 14squares = {x: x**2 for x in range(5)} 15# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} 2. 访问字典 1user = {"name": "张三", "age": 25, "city": "北京"} 2 3# 方法1:[]访问 4print(user["name"]) # 张三 5# print(user["phone"]) # KeyError: 键不存在会报错 6 7# 方法2:get()方法(推荐) 8print(user.get("name")) # 张三 9print(user.get("phone")) # None(不报错) 10print(user.get("phone", "未设置")) # 未设置(默认值) 11 12# 检查键是否存在 13print("name" in user) # True 14print("phone" in user) # False 15print("phone" not in user) # True 3. 修改字典 1user = {"name": "张三", "age": 25} 2 3# 修改值 4user["age"] = 26 5print(user) # {'name': '张三', 'age': 26} 6 7# 添加键值对 8user["city"] = "上海" 9print(user) # {'name': '张三', 'age': 26, 'city': '上海'} 10 11# 删除键值对 12del user["city"] 13print(user) # {'name': '张三', 'age': 26} 14 15# pop():删除并返回值 16age = user.pop("age") 17print(age) # 26 18print(user) # {'name': '张三'} 19 20# popitem():删除并返回最后一个键值对(3.7+有序) 21user = {"a": 1, "b": 2, "c": 3} 22item = user.popitem() 23print(item) # ('c', 3) 4. 字典常用方法 获取键、值、项 1user = {"name": "张三", "age": 25, "city": "北京"} 2 3# keys():所有键 4print(user.keys()) # dict_keys(['name', 'age', 'city']) 5print(list(user.keys())) # ['name', 'age', 'city'] 6 7# values():所有值 8print(user.values()) # dict_values(['张三', 25, '北京']) 9print(list(user.values())) # ['张三', 25, '北京'] 10 11# items():所有键值对 12print(user.items()) 13# dict_items([('name', '张三'), ('age', 25), ('city', '北京')]) 14 15# 转换为列表 16items_list = list(user.items()) 17print(items_list) 18# [('name', '张三'), ('age', 25), ('city', '北京')] 更新和清空 1user = {"name": "张三", "age": 25} 2 3# update():更新字典 4user.update({"age": 26, "city": "北京"}) 5print(user) 6# {'name': '张三', 'age': 26, 'city': '北京'} 7 8# 也可以用关键字参数 9user.update(phone="13800138000") 10print(user) 11 12# clear():清空字典 13user.clear() 14print(user) # {} setdefault() 如果键存在,返回其值;否则设置默认值并返回: ...

2024-06-03 · 3 min · 607 words · 老墨