Python中的容器

2024年05月22日 Python中的容器 极客笔记

Python中的容器

在Python中,容器是一种数据结构,用于存储和组织其他对象。常见的容器包括列表、元组、集合和字典。本文将介绍Python中的各种容器类型及其用法。

列表(List)

列表是Python中最常用的容器类型之一。列表用方括号[]来表示,列表中的元素可以是任意类型的对象,包括其他容器。列表是可变的,可以通过索引来访问和修改其中的元素。

创建列表

可以使用[]来创建一个空列表,也可以直接在方括号中列出列表的元素:

# 创建空列表
empty_list = []

# 创建包含元素的列表
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'orange', 'banana']
mixed = [1, 'apple', True]

访问和修改列表元素

可以通过索引来访问和修改列表中的元素,列表的索引从0开始:

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

# 访问列表元素
print(numbers[0])  # 输出:1
print(numbers[2])  # 输出:3

# 修改列表元素
numbers[1] = 10
print(numbers)  # 输出:[1, 10, 3, 4, 5]

列表方法

列表有许多方法可用于操作列表。一些常用的方法包括:

  • append(): 在列表末尾添加一个元素
  • insert(): 在指定位置插入一个元素
  • pop(): 移除并返回指定位置的元素
  • remove(): 移除指定值的元素
numbers = [1, 2, 3, 4, 5]

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

# 在指定位置插入元素
numbers.insert(2, 10)
print(numbers)  # 输出:[1, 2, 10, 3, 4, 5, 6]

# 移除并返回指定位置的元素
element = numbers.pop(3)
print(element)  # 输出:3
print(numbers)  # 输出:[1, 2, 10, 4, 5, 6]

# 移除指定值的元素
numbers.remove(10)
print(numbers)  # 输出:[1, 2, 4, 5, 6]

元组(Tuple)

元组是另一种常见的容器类型,与列表类似但是不可变。元组用圆括号()来表示,元组中的元素可以是任意类型的对象。

创建元组

可以使用()来创建一个空元组,也可以直接在圆括号中列出元组的元素:

# 创建空元组
empty_tuple = ()

# 创建包含元素的元组
numbers = (1, 2, 3, 4, 5)
fruits = ('apple', 'orange', 'banana')
mixed = (1, 'apple', True)

访问元组元素

与列表类似,可以通过索引来访问元组中的元素:

numbers = (1, 2, 3, 4, 5)

# 访问元组元素
print(numbers[0])  # 输出:1
print(numbers[2])  # 输出:3

元组解包

元组解包是将元组的元素分别赋值给多个变量的操作:

numbers = (1, 2, 3)
a, b, c = numbers
print(a)  # 输出:1
print(b)  # 输出:2
print(c)  # 输出:3

集合(Set)

集合是一种无序且不重复的容器类型。集合用大括号{}来表示,集合中的元素可以是任意不可变类型的对象,如整数、浮点数、字符串等。

创建集合

可以使用{}来创建一个空集合,也可以使用set()函数将列表、元组等可迭代对象转换为集合:

# 创建空集合
empty_set = set()

# 使用{}创建集合
numbers = {1, 2, 3, 4, 5}
fruits = {'apple', 'orange', 'banana'}

集合操作

集合支持多种操作,包括并集、交集、差集和对称差集等操作:

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 并集
union = set1 | set2
print(union)  # 输出:{1, 2, 3, 4, 5, 6, 7, 8}

# 交集
intersection = set1 & set2
print(intersection)  # 输出:{4, 5}

# 差集
difference = set1 - set2
print(difference)  # 输出:{1, 2, 3}

# 对称差集
symmetric_difference = set1 ^ set2
print(symmetric_difference)  # 输出:{1, 2, 3, 6, 7, 8}

字典(Dictionary)

字典是一种键值对的容器类型。字典用花括号{}来表示,每个键值对之间用冒号:分隔,键值对之间用逗号,分隔。

创建字典

可以使用{}来创建一个空字典,也可以直接在花括号中列出键值对:

# 创建空字典
empty_dict = {}

# 创建包含键值对的字典
person = {'name': 'Alice', 'age': 30, 'city': 'New York'}

访问和修改字典元素

可以通过键来访问和修改字典中的值:

person = {'name': 'Alice', 'age': 30, 'city': 'New York'}

# 访问字典元素
print(person['name'])  # 输出:Alice
print(person['age'])  # 输出:30

# 修改字典元素
person['age'] = 35
print(person['age'])  # 输出:35

字典方法

字典有许多方法可用于操作字典。一些常用的方法包括:

  • keys(): 返回字典中所有的键
  • values(): 返回字典中所有的值
  • items(): 返回字典中所有的键值对
person = {'name': 'Alice', 'age': 30, 'city': 'New York'}

# 返回字典中所有的键
keys = person.keys()
print(keys)  # 输出:dict_keys(['name', 'age', 'city'])

# 返回字典中所有的值
values = person.values()
print(values)  # 输出:dict_values(['Alice', 30, 'New York'])

# 返回字典中所有的键值对
items = person.items()
print(items)  # 输出:dict_items([('name', 'Alice'), ('age', 30), ('city', 'New York')])

总结

本文详细介绍了Python中常用的容器类型,包括列表、元组、集合和字典。

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

展开阅读全文