Python基础学习(四):字典

1. 字典简介

字典是一种可变的容器,用于存储键值对。字典中的数据是无序的,键必须是唯一的且不可变。

特点:

  • 使用大括号 {} 定义,键值对用冒号 : 分隔。

  • 数据是无序的。

  • 键必须是不可变类型(如字符串、数字、元组),值可以是任意类型。


2. 字典创建

2.1 使用字面值创建

# 创建空字典
d1 = {}

# 创建包含键值对的字典
d2 = {"name": "Alice", "age": 25, "city": "New York"}

# 键可以是数字
d3 = {1: "one", 2: "two", 3: "three"}

# 键可以是元组
d4 = {(1, 2): "point"}

2.2 使用 dict() 函数创建

# 从列表创建字典
d5 = dict([("name", "Bob"), ("age", 30)])

# 从关键字参数创建字典
d6 = dict(name="Charlie", age=35)

2.3 使用 dict.fromkeys() 快速创建字典

dict.fromkeys() 可以快速创建一个具有相同默认值的字典。 

keys = ["a", "b", "c"]
value = 0
d = dict.fromkeys(keys, value)
print(d)  # 输出:{'a': 0, 'b': 0, 'c': 0}

3. 字典操作

3.1 增加或修改元素

d = {"name": "Alice", "age": 25}

# 添加新键值对
d["city"] = "New York"

# 修改现有键的值
d["age"] = 26

print(d)  # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}

3.2 访问元素

可以通过键访问字典中的值。

d = {"name": "Alice", "age": 25}

# 访问键对应的值
print(d["name"])  # 输出:Alice

# 使用 get() 方法避免键不存在时报错
print(d.get("address", "Unknown"))  # 输出:Unknown

3.3 删除元素

可以使用 del 删除键值对,或使用 pop() 删除并返回值。

d = {"name": "Alice", "age": 25, "city": "New York"}

# 删除键值对
del d["city"]
print(d)  # 输出:{'name': 'Alice', 'age': 25}

# 删除并返回值
age = d.pop("age")
print(age)      # 输出:25
print(d)  # 输出:{'name': 'Alice'}

3.4 查询元素 

in用于判断一个键是否存在于字典中,存在返回True, 否则返回False

d = dict(a=1, b=2)		# d = {'a': 1, 'b': 2}
print('a' in d)			# True	
print(1 in d)			# False
print('hello' not in d)	# True

3.5 遍历元素

keys() 方法获取字典的所有键

values() 方法获取字典的所有值

items() 方法获取字典的所有键值对

d = {"name": "Alice", "age": 25, "city": "New York"}

# 遍历键
for key in d.keys():
    print(key) # name age city

# 遍历值
for value in d.values():
    print(value) # Alice 25 New York

# 遍历键值对
for key, value in d.items():
    print(f"{key}: {value}") # name: Alice age: 25 city: New York


4. 字典特性

4.1 键的唯一性

字典中的键必须是唯一的。如果重复定义键,后面的值会覆盖前面的值。

d = {"name": "Alice", "name": "Bob"}
print(d)  # 输出:{'name': 'Bob'}

4.2 键的不可变性

字典的键必须是不可变类型(如字符串、数字、元组),不能使用列表等可变类型作为键。

# 正确示例
d = {1: "one", "two": 2, (1, 2): "tuple"}

# 错误示例
d = {[1, 2]: "list"}  # 报错:TypeError: unhashable type: 'list'

5. 字典常用 API

5.1 常用函数

函数 描述
len(d) 计算字典元素个数,即键的总数。
str(d) 输出字典,可以打印的字符串表示。
type(d) 返回输入的变量类型,如果变量是字典就返回字典类型。

5.2 常用方法

方法 描述
d.clear() 删除字典内所有元素。
d.copy() 返回一个字典的浅复制。
d.get(k, default) 返回键对应的值,若键不存在则返回默认值。
k in d 判断键是否在字典中。
d.items() 返回字典中所有键值对的视图。
d.keys() 返回字典中所有键的视图。
d.update(d2) 将其他字典的键值对更新到当前字典。
d.values() 返回字典中所有值的视图。
d.pop(k) 删除并返回指定键的值。

你可能感兴趣的:(python,学习,windows)