python中数组array和列表list的基本用法及区别解析

  • Post category:Python

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中数组和列表的基本用法及区别的详细讲解和示例说明。希望对您有所帮助。