Python中数组array和列表list的基本用法及区别解析
在Python中,数组(array)和列表(list)都是常用的数据类型,它们都可以存储多元素,但是它们之间有一些区别。本文将详细讲解Python中数组和列表的基本用法及区别,并提多个示例说明。
数组(array)的定义和创建
数组是一种固定长度、类型相同的数据结构。在Python中,可以使用array
模块来创建数组。创建数组需要指定数组的类型和元素,例如:
# 创建一个整数类型的数组
import array
my_array = array.array('i', [1, 2, 3, 4, 5])
(my_array) # 输出 array('i', [1, 2, 3, 4, 5])
上述代码使用array
模块创建了一个整数类型的数组my_array
,其中包含了五个整数元素。
数组(array)的访问
可以使用索引来访问数组中的素。在Python中,数组的索引从0开始,也可以使用负数索引来访问数组中的元素,其中-1表示最后一个素,-2表示倒数第二个元素,以此类推。例如:
# 访问数组中的元素
import array
my_array = array.array('i', [1, 2, 3, 4, 5])
print(my_array[0]) # 输出 1
print(my_array[-1]) # 输出 5
上述代码分别使用索引0
和-1
来访问数组my_array
中的第一个和最后一个元素。
数组(array)的添加和删除
在Python中,数组的长度是固定的,不能像列表一样态添加或删除元素。如果需要添加或删除元素,需要创建一个新的数组。例如:
# 创建一个新的数组并添加元素
import array
my_array = array.array('i', [1, 2, 3, 4, 5])
new_array = array.array('i', [6, 7, 8])
my_array += new_array
print(my_array) # 输出 array('i', [1, 2, 3, 4, 5, 6, 7, 8])
上述代码创建了一个新的数组new_array
,并将其添加到原数组my_array
中,得一个新的数组my_array
。
列表(list)的定义和创建
列表是一种动态长度、类型可以不同的数据结构。在Python中,列表用方括号[]
表示,其中的元素用逗号,
分隔。例如:
# 定义一个列表
my_list = [1, 2, 3, 4, 5]
print(my_list) # 输出 [1, 2, 3, 4, 5]
上述代码定义了一个名为my_list
的列表,其中包含了五个整数元素。
列表(list)的访问
可以索引来访问列表中的元素。在Python中,列表的索引从0开始,也可以使用负数索来访问列表中的元素,其中-1表示最后一个元素,-2表示倒数第二个元素,以此类推。例如:
# 访问列表中的元素
my_list = [1, 2, 3, 4, 5]
print(my_list[0]) # 输出 1
print(my_list[-1]) # 输出 5
上述代码分别使用索引0
和-1来访问列表
my_list`中的第一个和最后一个元素。
列表(list)的添加和删除
在Python中,列表的长度是动态的,可以使用append()
方法向列表末尾添加一个元素,也可以使用insert()
方法在列表的任意位置添加一个元素。例如:
python
向列表中添加元素
my_list = [1, 2, 3, 4, 5]
my_list.append(6)
print(my_list) # 输出 [1, 2, 3, 4, 5, 6]
my_list.insert(2, ‘hello’)
print(my_list) # 输出 [1, 2, ‘hello’, 3, 4, 5, 6]
上述代码使用`append()`方法向列表`my_list`末尾添加一个整数元素`6`,使用`insert()`方法在列表`my_list`的第三位置添加一个字符串元素`hello`。
可以使用`del`语句或`remove()`方法删除列表中的元素。其中,`del`语句可以删除任意位置的元素,而`remove()`方法只能删除第一个匹配的元素。例如:
```python
# 从列表中删除元素
my_list = [1, 2, 3, 4, 5]
del my_list[2]
print(my_list) # 输出 [1, 2, 4, 5]
my_list.remove(4)
print(my_list) # 输出 [1, , 5]
上述代码使用del
语句删除列表my_list
中的第三个元素3
,使用remove()
方法删除列表my_list
中的第二个元素4
。
数组(array)和列表(list)的区别
- 数组是固定长度、相同的数据结构,而列表是动态长度、类型可以不同的数据结构。
- 数组的访问速度比列表快,因为数组中的元素在内存中是连续存储的,而列表中的元素在内存中是分散存储的。
- 数组的长度是固定的,不能像列表一样动态或删除元素。
示例一:使用数组存储学生成绩
# 使用数组存储学生成绩
import array
scores = array.array('', [89.5, 92.3, 85.7, 94.2, 90.1])
for score in scores:
print(score)
上述代码使用数组存储了五个学生的成绩,并使用循环遍历数组,输出每个学生的成绩。
示例二:使用列表实现队列
# 使用列表实现队列
queue = []
queue.append(1)
queue.append(2)
queue.append(3)
print(queue.pop(0)) # 输出 1
print(queue.pop(0)) # 输出 2
print(queue.pop(0)) # 输出 3
上述代码使用列表实现了队列,使用append()
方法向队列中添加元素,使用pop(0)
方法从队列中弹出元素,并输出弹出的元素。
以上就是Python中数组和列表的基本用法及区别的详细讲解和示例说明。希望对您有所帮助。