Python内置的4个重要基本数据结构:列表、元组、字典和集合

1. 列表(List)

列表是Python内置的一种序列类型,可以存储混合类型的数据以及同一类型的数据。列表使用方括号 [] 来表示,每个元素之间用逗号分隔。列表是一种可变数据类型,也就是说,可以通过索引和切片等方式访问和修改列表中的元素。

1.1 创建列表

可以使用 list() 函数来创建空列表,也可以在方括号内添加元素来创建列表,如下所示:

# 创建空列表

empty_list = list()

# 创建非空列表

languages = ['Python', 'Java', 'JavaScript']

1.2 访问列表元素

可以使用索引和切片的方式来访问列表中的元素。

colors = ['red', 'green', 'blue']

# 访问单个元素

print(colors[0]) # 输出:red

# 访问多个元素

print(colors[1:3]) # 输出:['green', 'blue']

1.3 修改列表元素

列表是可变数据类型,所以可以通过索引来修改列表中的元素,如下所示:

# 修改单个元素

colors[0] = 'yellow'

print(colors) # 输出:['yellow', 'green', 'blue']

# 修改多个元素

colors[1:3] = ['cyan', 'magenta']

print(colors) # 输出:['yellow', 'cyan', 'magenta']

1.4 常见的列表方法

列表对象有许多内置方法,可以完成添加、删除、排序和搜索等操作。

append(): 在列表末尾添加一个元素。

extend(): 在列表末尾添加一个可迭代对象的元素。

insert(): 在列表指定位置插入一个元素。

remove(): 删除列表中第一个匹配的元素。

pop(): 删除并返回列表中指定位置的元素。

sort(): 将列表中的元素从小到大排序。

reverse(): 将列表中的元素翻转。

使用这些内置方法,可以方便地对列表进行操作,如下所示:

fruits = ['apple', 'banana', 'pear']

# 在列表末尾添加元素

fruits.append('orange')

# 在列表中插入元素

fruits.insert(1, 'grape')

# 删除指定元素

fruits.remove('pear')

# 删除并返回指定位置的元素

last_fruit = fruits.pop()

# 对列表中的元素排序

fruits.sort()

# 翻转列表中的元素

fruits.reverse()

2. 元组(Tuple)

元组是Python内置的一种序列类型,类似于列表,但元组是不可变的,也就是说,创建后不能修改元素。元组使用圆括号 () 来表示,每个元素之间用逗号分隔。

2.1 创建元组

可以使用 tuple() 函数来创建空元组,也可以在圆括号内添加元素来创建元组,如下所示:

# 创建空元组

empty_tuple = tuple()

# 创建非空元组

colors = ('red', 'green', 'blue')

2.2 访问元组元素

可以使用索引和切片的方式来访问元组中的元素。

shapes = ('circle', 'rectangle', 'triangle')

# 访问单个元素

print(shapes[0]) # 输出:circle

# 访问多个元素

print(shapes[1:3]) # 输出:('rectangle', 'triangle')

2.3 元组的不可变性

元组是不可变的,也就是说,一旦创建后,不能修改元素。因此,尝试修改元组中的元素会导致错误。

colors = ('red', 'green', 'blue')

colors[0] = 'yellow' # TypeError: 'tuple' object does not support item assignment

3. 字典(Dictionary)

字典是Python内置的一种映射类型,用于存储键值对,其中键是唯一的,而值可以是任意类型的对象。字典使用花括号 {} 来表示,每个键值对之间用冒号 : 分隔,每个键值对之间用逗号 , 分隔。

3.1 创建字典

可以使用 dict() 函数来创建空字典,也可以在花括号内添加键值对来创建字典,如下所示:

# 创建空字典

empty_dict = dict()

# 创建非空字典

prices = {'apple': 1.0, 'banana': 0.5, 'pear': 0.8}

3.2 访问字典元素

可以使用键来访问字典中的元素。

scores = {'Amy': 90, 'Bob': 85, 'Cathy': 95}

# 访问单个元素

print(scores['Amy']) # 输出:90

如果尝试访问不存在的键,会导致 KeyError 错误。

print(scores['David']) # KeyError: 'David'

3.3 修改字典元素

可以使用键来修改字典中的元素。

prices = {'apple': 1.0, 'banana': 0.5, 'pear': 0.8}

# 修改单个元素

prices['apple'] = 1.2

print(prices) # 输出:{'apple': 1.2, 'banana': 0.5, 'pear': 0.8}

3.4 常见的字典方法

字典对象有许多内置方法,可以完成添加、删除、遍历和搜索等操作。

keys(): 返回字典中所有键组成的列表。

values(): 返回字典中所有值组成的列表。

items(): 返回字典中所有键值对组成的元组。

get(): 返回指定键对应的值,如果不存在则返回默认值。

pop(): 删除并返回指定键对应的值。

popitem(): 删除并返回字典中的一个键值对。

使用这些内置方法,可以方便地对字典进行操作,如下所示:

prices = {'apple': 1.0, 'banana': 0.5, 'pear': 0.8}

# 获取所有键

keys = prices.keys()

# 获取所有值

values = prices.values()

# 获取所有键值对

items = prices.items()

# 获取指定键对应的值

apple_price = prices.get('apple', 1.5)

# 删除指定键对应的值

del prices['pear']

# 删除并返回一个键值对

key, value = prices.popitem()

4. 集合(Set)

集合是Python内置的一种无序、可变数据类型,可以用于去重、交集、并集和差集等操作。集合使用花括号 {} 来表示,每个元素之间用逗号分隔。

4.1 创建集合

可以使用 set() 函数来创建空集合,也可以在花括号内添加元素来创建集合,如下所示:

# 创建空集合

empty_set = set()

# 创建非空集合

fruits = {'apple', 'banana', 'pear'}

4.2 访问集合元素

由于集合是无序的,不能使用索引来访问集合中的元素。

4.3 常见的集合方法

集合对象有许多内置方法,可以完成添加、删除、遍历和搜索等操作。

add(): 向集合中添加一个元素。

update(): 向集合中添加多个元素。

remove(): 删除集合中指定元素。

pop(): 删除并返回集合中的一个元素。

clear(): 删除集合中的所有元素。

使用这些内置方法,可以方便地对集合进行操作,如下所示:

fruits = {'apple', 'banana', 'pear'}

# 向集合中添加元素

fruits.add('orange')

# 向集合中添加多个元素

fruits.update(['mango', 'pineapple'])

# 删除指定元素

fruits.remove('banana')

# 删除并返回一个元素

fruit = fruits.pop()

# 清空集合

fruits.clear()

结语

本文介绍了Python内置的四种基本数据结构:列表、元组、字典和集合。它们分别用于存储序列、映射、集合等数据类型。通过本文的介绍,您应该已经了解了它们的基本用法和一些常见的方法。