Python中的列表和数组都可以保存多个数据,并且都支持下标操作,但它们的使用方式和特性略有不同。
列表
Python中的列表(List)是可变的有序序列,可以保存多个不同类型的元素,包括数字、字符串、元组、列表等等。列表使用方括号 [] 表示,每个元素之间用逗号分隔。
创建列表
下面是创建一个包含数字、字符串和列表的列表的示例:
my_list = [1, "apple", [2, 3, 4]]
print(my_list)
输出:
[1, 'apple', [2, 3, 4]]
列表的常用操作
下标操作
可以通过下标操作获取列表的某个元素,下标从0开始计数。例如:
x = my_list[1]
y = my_list[2][0]
print(x)
print(y)
输出:
apple
2
切片操作
也可以使用切片操作获取列表的某个区间的值,包括左闭右开,例如:
my_list = [1, 2, 3, 4, 5, 6]
x = my_list[1:4]
print(x)
输出:
[2, 3, 4]
插入与删除元素
可以使用 append() 方法向列表末尾添加一个元素,可以使用 insert() 方法在指定位置插入一个元素,可以使用 remove() 方法移除列表中指定的元素,例如:
my_list = [1, 2, 3, 4, 5, 6]
my_list.append(7)
my_list.insert(3, "apple")
my_list.remove(2)
print(my_list)
输出:
[1, 'apple', 3, 4, 5, 6, 7]
列表的长度
可以使用 len() 函数获取列表的长度,例如:
my_list = [1, 2, 3, 4, 5, 6]
x = len(my_list)
print(x)
输出:
6
数组
Python中的数组(Array)需要先引入 array 模块才能使用,它是定长且元素类型必须相同的,也支持下标操作。数组使用 array.array() 函数创建,可以指定元素类型和初始值。
创建数组
下面是创建一个包含数字的数组的示例:
import array
my_array = array.array('i', [1, 2, 3, 4, 5])
print(my_array)
输出:
array('i', [1, 2, 3, 4, 5])
通常用于存储大量的数值数据的数组,例如:
import array
voltage = array.array('d', [1.23, 3.45, 6.78, 9.01])
current = array.array('d', [0.02, 0.05, 0.08, 0.10])
power = [a*b for a, b in zip(voltage, current)]
print(power)
输出:
[0.0246, 0.1725, 0.5424, 0.901]
数组的常用操作
下标操作
可以通过下标操作获取数组的某个元素,下标从0开始计数。例如:
x = my_array[1]
print(x)
输出:
2
转换为列表
可以使用 tolist() 方法将数组转换为列表,例如:
my_list = my_array.tolist()
print(my_list)
输出:
[1, 2, 3, 4, 5]
列表和数组的区别
从上面的示例可以看出,Python中的列表和数组都可以保存多个数据,并且都支持下标操作。但它们的具体区别如下:
- 列表是任意类型的序列,而数组是只能存储同一类型元素的序列,有利于存储大量数据,并能用更少的内存来存储数据。
- 数组的元素在内存中是连续存储的,而列表没有这个限制。
- 数组的大小固定,不能动态扩充,而列表的大小是可以动态扩充的。
在实际编程中,我们可以根据具体场景和需要选择列表或数组。如果需要存储不同类型的数据并且需要动态扩展,可以选择列表。如果需要存储大量的同类型数值数据,可以选择数组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python中列表和数组的区别 - Python技术站