Python 3 介绍(十六)-- Python数据结构

目录

1. 列表(List)

特点:

示例:

2. 元组(Tuple)

特点:

示例:

3. 字典(Dictionary)

特点:

示例:

4. 集合(Set)

特点:

示例:

5. 字符串(String)

特点:

示例:

6. 字典推导式和列表推导式

示例:

总结


 

Python 3 提供了多种内置的数据结构,这些数据结构有助于高效地存储和操作数据。以下是 Python 中常见的几种数据结构及其特点:

1. 列表(List)

列表是一种有序的、可变的数据结构,可以存储任意类型的数据。列表支持多种操作,如索引、切片、追加、删除等。

特点:

  • 可变性:列表可以被修改。
  • 有序性:列表中的元素有固定的顺序。
  • 异质性:列表中的元素可以是不同的类型。

示例:

 

python

深色版本

1# 创建列表
2nums = [1, 2, 3, 4]
3
4# 访问元素
5print(nums[0])  # 输出 1
6
7# 修改元素
8nums[0] = 10
9print(nums)  # 输出 [10, 2, 3, 4]
10
11# 添加元素
12nums.append(5)
13print(nums)  # 输出 [10, 2, 3, 4, 5]
14
15# 删除元素
16del nums[0]
17print(nums)  # 输出 [2, 3, 4, 5]

2. 元组(Tuple)

元组与列表类似,也是一种有序的数据结构,但它一旦创建就不可更改(不可变)。

特点:

  • 不可变性:元组不能被修改。
  • 有序性:元组中的元素有固定的顺序。
  • 异质性:元组中的元素可以是不同的类型。

示例:

 

python

深色版本

1# 创建元组
2point = (1, 2, 3)
3
4# 访问元素
5print(point[0])  # 输出 1
6
7# 元组是不可变的,所以不能修改元素
8# point[0] = 10  # 会抛出 TypeError
9
10# 拼接元组
11new_point = point + (4,)
12print(new_point)  # 输出 (1, 2, 3, 4)

3. 字典(Dictionary)

字典是一种无序的、可变的数据结构,用于存储键值对。键必须是不可变的类型,如字符串或数字。

特点:

  • 可变性:字典可以被修改。
  • 无序性:字典中的元素没有固定的顺序。
  • 键值对:每个元素都是一个键值对。

示例:

 

python

深色版本

1# 创建字典
2person = {"name": "Alice", "age": 30}
3
4# 访问元素
5print(person["name"])  # 输出 Alice
6
7# 添加元素
8person["city"] = "New York"
9print(person)  # 输出 {'name': 'Alice', 'age': 30, 'city': 'New York'}
10
11# 删除元素
12del person["age"]
13print(person)  # 输出 {'name': 'Alice', 'city': 'New York'}

4. 集合(Set)

集合是一种无序的、不重复的数据结构,用于存储唯一的元素。

特点:

  • 无序性:集合中的元素没有固定的顺序。
  • 唯一性:集合中的元素不能重复。
  • 可变性:集合可以被修改,但也有不可变版本(frozenset)。

示例:

 

python

深色版本

1# 创建集合
2numbers = {1, 2, 3, 4}
3
4# 添加元素
5numbers.add(5)
6print(numbers)  # 输出 {1, 2, 3, 4, 5}
7
8# 删除元素
9numbers.remove(4)
10print(numbers)  # 输出 {1, 2, 3, 5}
11
12# 集合运算
13set1 = {1, 2, 3}
14set2 = {3, 4, 5}
15union = set1 | set2
16print(union)  # 输出 {1, 2, 3, 4, 5}

5. 字符串(String)

尽管字符串不是严格意义上的数据结构,但在 Python 中经常被当作序列来处理。字符串是由字符组成的不可变序列。

特点:

  • 不可变性:字符串一旦创建就不可更改。
  • 有序性:字符串中的字符有固定的顺序。
  • 字符序列:字符串可以被索引和切片。

示例:

 

python

深色版本

1# 创建字符串
2text = "Hello, world!"
3
4# 访问字符
5print(text[0])  # 输出 H
6
7# 字符串是不可变的,所以不能修改元素
8# text[0] = "h"  # 会抛出 TypeError
9
10# 字符串拼接
11new_text = text + "!"
12print(new_text)  # 输出 Hello, world! !

6. 字典推导式和列表推导式

Python 还支持推导式(Comprehensions),用于快速创建列表、字典等。

示例:

 

python

深色版本

1# 列表推导式
2numbers = [x for x in range(10) if x % 2 == 0]
3print(numbers)  # 输出 [0, 2, 4, 6, 8]
4
5# 字典推导式
6squares = {x: x*x for x in range(5)}
7print(squares)  # 输出 {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

总结

Python 提供了多种内置的数据结构来帮助你存储和处理数据。列表、元组、字典和集合各有特点,适用于不同的场景。列表和集合是可变的,而元组和字符串是不可变的。字典用于存储键值对,集合用于存储唯一的元素。理解这些数据结构的特性和使用方法,可以帮助你写出更加高效、清晰的代码。无论是在简单的数据存储还是复杂的算法实现中,熟悉这些数据结构都是非常重要的。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蘑菇二号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值