### Python 专题五 列表基础知识详解
#### 一、列表简介
列表是 Python 中非常重要的数据结构之一,它属于序列类型,与字符串类似,但与字符串不同的是,列表是可变的,也就是说我们可以修改列表中的元素。列表可以容纳任何类型的 Python 对象,包括数字、字符串、其他列表甚至是用户自定义的类实例。
#### 二、二维列表排序
在实际应用中,我们经常会遇到需要对二维列表进行排序的情况。例如,当我们要根据某个特定的标准对一系列数据进行排序时,就需要用到二维列表排序。
##### 1. 一维列表排序示例
让我们看一下如何对一维列表进行排序:
```python
# 使用 list.sort() 方法对列表进行排序
lst = [4, 3, 9, 1, 5, 2]
print("排序前:", lst)
lst.sort()
print("排序后:", lst)
# 使用 sorted() 函数对列表进行排序
lst = ['h', 'a', 'p', 'd', 'i', 'b']
print("排序前:", lst)
sorted_lst = sorted(lst)
print("排序后:", sorted_lst)
```
在这两个例子中,`list.sort()` 是就地排序,即直接修改原列表;而 `sorted()` 则返回一个新的已排序列表,原列表保持不变。
##### 2. 二维列表排序
对于二维列表的排序,通常我们需要根据其中的一个或多个维度来进行排序。这里我们使用 lambda 表达式作为排序的关键字。
```python
# 二维列表排序示例
lst = [('Tom', 4), ('Jack', 7), ('Daly', 9), ('Mary', 1), ('God', 5), ('Yuri', 3)]
print("排序前:", lst)
# 按照每个元组的第二个元素排序
lst.sort(key=lambda x: x[1])
print("排序后:", lst)
```
上面的例子中,我们使用了 `key=lambda x: x[1]` 来指定排序依据为元组中的第二个元素。
#### 三、获取列表下标
获取列表中某个元素的下标通常使用 `index()` 方法。
```python
lst = ['apple', 'banana', 'cherry', 'date']
index_of_banana = lst.index('banana')
print("香蕉的下标:", index_of_banana)
```
#### 四、处理 txt 文本实例
处理文本文件是 Python 的常见应用场景之一。我们可以轻松地读取、写入和修改文本文件。
##### 1. 读取 txt 文件
```python
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print("文件内容:", content)
```
##### 2. 写入 txt 文件
```python
data = "Hello, world!\nWelcome to Python."
with open('output.txt', 'w', encoding='utf-8') as file:
file.write(data)
```
##### 3. 修改 txt 文件
```python
# 读取文件内容
with open('example.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# 修改内容
for i in range(len(lines)):
lines[i] = lines[i].replace('old_word', 'new_word')
# 写回文件
with open('example.txt', 'w', encoding='utf-8') as file:
file.writelines(lines)
```
#### 总结
本文介绍了 Python 中关于列表的基本知识,包括列表排序、获取下标以及如何处理 txt 文本文件。这些基础技能对于初学者来说是非常有用的,无论是在日常编程还是数据分析工作中都会频繁用到。掌握好这些基本操作,将有助于你更高效地解决问题。