Python 字典 列表

2024年05月10日 Python 字典 列表 极客笔记

Python 字典 列表

在Python编程语言中,字典(dictionary)和列表(list)是两种非常常用的数据结构。它们具有不同的特点和用途,能够帮助我们更好地存储和处理数据。本文将详细介绍Python中的字典和列表,并且探讨它们的用法及区别。

字典

字典是Python中一种无序的数据结构,由键值对组成。每个键值对之间用冒号(:)分隔,不同键值对之间用逗号(,)分隔。字典的键必须是唯一的,并且必须是不可变的数据类型,如字符串、整数、元组等;值可以是任意类型的数据,包括字符串、整数、列表、字典等。

创建字典

在Python中,可以使用花括号({})来创建一个空字典,也可以使用dict()函数来创建一个空字典。下面是创建字典的几种方式:

# 创建一个空字典
my_dict = {}
print(my_dict)

# 使用dict()函数创建一个空字典
another_dict = dict()
print(another_dict)

# 创建一个带有键值对的字典
student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}
print(student)

运行结果如下:

{}
{}
{'name': 'Alice', 'age': 20, 'major': 'Computer Science'}

字典的基本操作

访问字典中的元素

可以通过键来访问字典中的元素,如果访问的键不存在,则会引发KeyError异常。可以使用get()方法来避免这种情况。

student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}

# 访问字典中的元素
print(student['name'])   # 输出:Alice

# 使用get()方法访问元素
print(student.get('age'))   # 输出:20
print(student.get('gpa'))   # 输出:None

添加和修改元素

可以通过赋值操作来添加或修改字典中的元素。

student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}

# 添加新元素
student['gpa'] = 3.5
print(student)   # 输出:{'name': 'Alice', 'age': 20, 'major': 'Computer Science', 'gpa': 3.5}

# 修改元素
student['age'] = 21
print(student)   # 输出:{'name': 'Alice', 'age': 21, 'major': 'Computer Science', 'gpa': 3.5}

删除元素

可以使用del关键字或pop()方法来删除字典中的元素。

student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}

# 删除元素
del student['major']
print(student)   # 输出:{'name': 'Alice', 'age': 20}

# 使用pop()方法删除元素
removed_age = student.pop('age')
print(student)   # 输出:{'name': 'Alice'}
print(removed_age)   # 输出:20

遍历字典

可以使用for循环遍历字典中的所有键值对。

student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}

# 遍历字典中的键
for key in student:
    print(key)

# 遍历字典中的值
for value in student.values():
    print(value)

# 遍历字典中的键值对
for key, value in student.items():
    print(key, value)

字典的内置方法

Python中的字典还提供了一些内置方法,用于处理字典中的数据。

  • clear():清空字典中的所有元素。
  • copy():复制字典。
  • update():将一个字典添加到另一个字典中。
student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}
contact = {'phone': '1234567890', 'email': 'alice@example.com'}

# 清空字典
student.clear()
print(student)   # 输出:{}

# 复制字典
student = contact.copy()
print(student)   # 输出:{'phone': '1234567890', 'email': 'alice@example.com'}

# 合并字典
student.update({'name': 'Alice', 'age': 20})
print(student)   # 输出:{'phone': '1234567890', 'email': 'alice@example.com', 'name': 'Alice', 'age': 20}

列表

列表是Python中一种有序的数据结构,用于存储一组元素。列表可以包含任意类型的数据,包括数字、字符串、列表、字典等。

创建列表

在Python中,可以使用方括号([])来创建一个空列表,也可以使用list()函数来创建一个空列表。下面是创建列表的几种方式:

# 创建一个空列表
my_list = []
print(my_list)

# 使用list()函数创建一个空列表
another_list = list()
print(another_list)

# 创建一个带有元素的列表
numbers = [1, 2, 3, 4, 5]
print(numbers)

# 创建一个包含不同类型元素的列表
mixed_list = [1, 'hello', [2, 3], {'name': 'Alice'}]
print(mixed_list)

列表的基本操作

访问列表中的元素

可以使用索引来访问列表中的元素,列表的索引从0开始。可以使用负数索引来从列表末尾开始访问元素。

numbers = [1, 2, 3, 4, 5]

# 访问列表中的元素
print(numbers[0])   # 输出:1
print(numbers[-1])   # 输出:5

添加和修改元素

可以使用append()方法向列表末尾添加元素,使用insert()方法在指定位置插入元素,使用赋值操作来修改列表中的元素。

numbers = [1, 2, 3, 4, 5]

# 添加元素
numbers.append(6)
print(numbers)   # 输出:[1, 2, 3, 4, 5, 6]

# 插入元素
numbers.insert(2, 2.5)
print(numbers)   # 输出:[1, 2, 2.5, 3, 4, 5, 6]

# 修改元素
numbers[3] = 3.5
print(numbers)   # 输出:[1, 2, 2.5, 3.5, 4, 5, 6]

删除元素

可以使用del关键字、pop()方法或remove()方法来删除列表中的元素。

numbers = [1, 2, 2.5, 3.5, 4, 5, 6]

# 删除元素
del numbers[2]
print(numbers)   # 输出:[1, 2, 3.5, 4, 5, 6]

# 使用pop()方法删除元素
removed_number = numbers.pop(3)
print(numbers)   # 输出:[1, 2, 3.5, 5, 6]
print(removed_number)   # 输出:4

# 使用remove()方法删除元素
numbers.remove(5)
print(numbers)   # 输出:[1, 2, 3.5, 6]

列表的切片操作

可以使用切片操作来获取列表中的一个子列表。

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 切片操作
sublist = numbers[2:7]   # 获取索引2到6的元素
print(sublist)   # 输出:[3, 4, 5, 6, 7]

# 切片操作获取偶数索引位置的元素
even_numbers = numbers[::2]
print(even_numbers)   # 输出:[1, 3, 5, 7, 9]

列表的内置方法

Python中的列表提供了一些内置方法来处理列表数据。

  • append():在列表末尾添加一个元素。
  • insert():在指定位置插入一个元素。
  • remove():删除列表中第一个匹配的元素。
  • pop():删除并返回指定位置的元素。
  • extend():在列表末尾添加另一个列表中的多个元素。
  • sort():对列表进行排序。
  • reverse():倒转列表中的元素顺序。
numbers = [2, 4, 1, 3, 5]

# 添加元素
numbers.append(6)
print(numbers)   # 输出:[2, 4, 1, 3, 5, 6]

# 删除元素
numbers.remove(4)
print(numbers)   # 输出:[2, 1, 3, 5, 6]

# 排序
numbers.sort()
print(numbers)   # 输出:[1, 2, 3, 5, 6]

# 倒转顺序
numbers.reverse()
print(numbers)   # 输出:[6, 5, 3, 2, 1]

字典与列表的比较

字典和列表在Python中都是常用的数据结构,它们各自适用于不同的场景。

  • 字典适用于键值对的存储和查找,可以根据键快速获取对应的值,适合存储具有唯一标识的数据。
  • 列表适用于存储有序的、可重复的元素集合,可以通过索引快速访问和修改元素,适合处理有序的数据集合。

在实际应用中,可以根据具体的需求选择使用字典或列表,或者将它们结合起来提高数据处理的灵活性。

本文链接:http://so.lmcjl.com/news/4230/

展开阅读全文