python蓝桥杯备考——列表还是元组?

【简介】

1、在 Python 中,我们通常使用术语 "列表"(List)来表示有序、可变的序列。列表是一种数据结构,可以容纳任意类型的元素,并且可以根据需要进行修改。
    与其他编程语言中的数组不同,Python 中的列表具有更灵活的特性。列表可以包含不同类型的   元素,可以动态调整大小,可以进行切片操作和迭代,以及支持许多内置的方法和函数。
因此,在 Python 中,我们通常使用术语 "列表" 来表示有序的集合,而不是使用 "数组" 这个术语。
2、需要注意的是,Python 中也有一个名为 "数组"(Array)的模块,它提供了一种固定大小的、同质的数据结构。但是,通常情况下,我们更倾向于使用列表来处理动态大小和异质元素的情况。

当涉及到列表和数组的用法时,以下是一些常见的操作和方法:

【列表(List)的用法:】
1. 创建列表:使用方括号 `[]` 或者使用 `list()` 函数来创建一个空列表或包含元素的列表。
2. 访问元素:使用索引来访问列表中的元素,索引从0开始。
3. 修改元素:可以通过索引来修改列表中的元素。
4. 切片操作:使用切片操作 `list[start:stop:step]` 来获取列表的子序列。
5. 添加元素:使用 `append()` 方法在列表末尾添加元素,使用 `insert()` 方法在指定位置插入元素。
6. 删除元素:使用 `del` 语句、`remove()` 方法或 `pop()` 方法来删除列表中的元素。
7. 遍历列表:使用循环来遍历列表中的元素,如 `for` 循环。
8. 列表方法:列表提供了许多内置方法,如 `sort()`、`reverse()`、`count()`、`index()` 等。

【数组(Array)的用法:】
1. 导入模块:使用 `import array` 导入数组模块。
2. 创建数组:使用 `array.array()` 函数来创建一个数组,需要指定数组的类型码。
3. 访问元素:使用索引来访问数组中的元素,索引从0开始。
4. 修改元素:可以通过索引来修改数组中的元素。
5. 数组方法:数组提供了一些方法,如 `append()`、`insert()`、`remove()` 等。

以下是一些更详细的解释和示例:

列表(List)的用法:
1. 创建列表:
   - 使用方括号 `[]` 创建一个空列表: `my_list = []`
   - 使用 `list()` 函数创建一个空列表: `my_list = list()`
   - 创建包含元素的列表: `my_list = [1, 2, 3, 4]`
2. 访问元素:
   - 使用索引访问列表中的元素,索引从0开始: `print(my_list[0])`
3. 修改元素:
   - 使用索引来修改列表中的元素: `my_list[0] = 10`
4. 切片操作:
   - 使用切片操作获取列表的子序列: `sub_list = my_list[1:3]`
5. 添加元素:
   - 使用 `append()` 方法在列表末尾添加元素: `my_list.append(5)`
   - 使用 `insert()` 方法在指定位置插入元素: `my_list.insert(2, 6)`
6. 删除元素:
   - 使用 `del` 语句删除列表中的元素: `del my_list[0]`
   - 使用 `remove()` 方法删除指定的元素: `my_list.remove(3)`
   - 使用 `pop()` 方法删除指定位置的元素,并返回该元素的值: `my_list.pop(1)`
7. 遍历列表:
   - 使用 `for` 循环遍历列表中的元素: 

for item in my_list:
    print(item)

8. 列表方法:
   - 列表提供了许多内置方法,如 `sort()`、`reverse()`、`count()`、`index()` 等。例如,使用 `sort()` 方法对列表进行排序:

my_list.sort()

数组(Array)的用法:
1. 导入模块:
   - 使用 `import array` 导入数组模块: `import array`
2. 创建数组:
   - 使用 `array.array()` 函数来创建一个数组,需要指定数组的类型码。例如,创建一个包含整数的数组:

 my_array = array.array('i', [1, 2, 3, 4])

3. 访问元素:
   - 使用索引访问数组中的元素,索引从0开始: `print(my_array[0])`
4. 修改元素:
   - 使用索引来修改数组中的元素: `my_array[0] = 10`
5. 数组方法:
   - 数组提供了一些方法,如 `append()`、`insert()`、`remove()` 等。例如,使用 `append()` 方法在数组末尾添加元素:

 my_array.append(5)

【如何创建二维数组】

rows = 3
cols = 4
my_array = [[0] * cols for _ in range(rows)] 
# 等同于 
my_array2 = [[0 for i in range(3)] for j in range(4)]


print(my_array[1][2]) # 访问第2行第3列的元素
my_array[0][1] = 10   # 修改第1行第2列的元素

`[[0] * cols for _ in range(rows)]` 是一个使用列表推导式创建二维数组的表达式。让我详细解释它的工作原理:
1. `range(rows)`:`range()` 函数生成一个从0到 `rows-1` 的整数序列,用于表示二维数组的行号
2. `0`:这是内层列表的初始值,我们将其设置为0。
3. `[0] * cols`:这是一个简单的列表乘法操作,将0重复 `cols` 次,生成一个包含 `cols` 个0的列表
4. `for _ in range(rows)`:这是一个迭代语句,用于遍历行号的整数序列。
5. `[[0] * cols for _ in range(rows)]`:这是一个列表推导式,它将内层列表 `[0] * cols` 重复 `rows` 次,生成一个包含 `rows` 行的二维数组。
【用列表的方式创建二维数组】

# 推荐
 
for i in range(3):
     lst02 = list(map(int, input().split()))
     lst01.append(lst02)
# 快捷

mat = [input().split(), input().split(), input().split()]

# 分三次,输入三行哦

# 不知道矩阵大小时

mat = []
while True:
    row = input().split()
    if not row:  # 如果用户输入为空行,则结束输入
        break
    mat.append(row)
#在这个示例中,我们使用一个无限循环来接收用户的输入。
#动态地输入列表的大小,直到用户结束输入或者输入一个特定的终止条件。

最简

#创建一维列表
dp = [0]*n # 初始化为0

#创建二维列表
dp = [[0]*n for _ in range(m)] 

1、在这个代码中,`lst01` 是一个空列表,用于存储二维数组的。然后,使用一个循环来迭代3次,每次迭代都会创建一个新的列表 `lst02`,并将其作为一行添加到 `lst01` 中。

2、在每次迭代中,使用 `input().split()` 获取输入的字符串,并使用 `map(int, ...)` 将每个字符串转换为整数。然后,使用 `list()` 函数将转换后的整数列表存储在 `lst02` 中。

3、最后,通过 `lst01.append(lst02)` 将 `lst02` 添加到 `lst01` 中,形成一个二维数组。

这样,你就可以通过循环获取多行输入,并将每行的元素存储在二维数组中。

  • 45
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值