程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python的高级数据结构

hfteth 2025-01-20 13:17:50 技术文章 17 ℃

Python 列表(List)、元组(Tuple)、字典(Dict)、集合(Set)的深入使用



列表(List)


列表是Python中最常用的数据结构之一,它是一个有序的元素集合。列表中的元素可以重复,且支持动态增减元素。


**深入使用示例**:


- 列表推导式:用于简洁地创建列表。

```python

squares = [x**2 for x in range(10)] # 创建0到9的平方列表

```


- 列表排序:使用`sort()`方法或内置函数`sorted()`。

```python

my_list = [3, 1, 4, 1, 5, 9, 2]

my_list.sort() # 直接修改列表

sorted_list = sorted(my_list) # 返回新列表,原列表不变

```


- 列表切片:用于访问列表的子集。

```python

my_list = ['a', 'b', 'c', 'd', 'e']

print(my_list[1:3]) # 输出: ['b', 'c']

```



元组(Tuple)


元组与列表相似,但它是一个不可变序列。一旦创建,就不能更改其元素。


**深入使用示例:**


- 元组主要用于存储不应该被修改的数据集合,例如坐标点或数据库记录。

```python

point = (1, 2)

```


- 元组解包:将元组的元素分别赋值给多个变量。

```python

a, b = (1, 2)

```


字典(Dict)


字典是Python中用于存储键值对(key-value pairs)的内置数据结构。字典是无序的,每个键都是唯一的。


**深入使用示例:**


- 字典推导式:用于简洁地创建字典。

```python

squared_dict = {x: x**2 for x in range(6)} # 创建0到5的平方字典

```


- 访问字典项:使用键来访问或修改值。

```python

my_dict = {'name': 'Alice', 'age': 30}

print(my_dict['name']) # 输出: Alice

```


- `.get()`方法:安全地访问字典项,如果键不存在则返回`None`(或指定的默认值)。

```python

print(my_dict.get('city', 'Unknown')) # 输出: Unknown

```


集合(Set)


集合是一个无序的、不包含重复元素的数据结构。主要用于成员测试和数学集合操作(如并集、交集、差集和对称差集)。


**深入使用示例**:


- 集合操作:使用`|`、`&`、`-`、`^`进行并集、交集、差集和对称差集操作。

```python

set1 = {1, 2, 3}

set2 = {2, 3, 4}

print(set1 | set2) # 输出: {1, 2, 3, 4}

print(set1 & set2) # 输出: {2, 3}

print(set1 - set2) # 输出: {1}

print(set1 ^ set2) # 输出: {1, 4}

```


- `.add()`和`.remove()`方法:向集合中添加或删除元素。

```python

my_set = {1, 2, 3}

my_set.add(4)

my_set.remove(2)

```


迭代器与生成器


迭代器


迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。


**使用示例**:


```python

it = iter([1, 2, 3, 4])

print(next(it)) # 1

print(next(it)) # 2

```


生成器


生成器是一种特殊的迭代器,使用`yield`语句。它允许你定义一个函数,该函数可以记住上一次返回时在函数体中的位置。当函数的迭代继续时,它会从上次离开的位置开始执行。


**使用示例**:


```python

def my_generator():

yield 1

yield 2

yield

Tags:

最近发表
标签列表