Python 的列表是内置的数据结构,可以直接用方括号 [] 定义。
Python 本身没有内置数组结构,但可以使用 NumPy 库的 array 来创建数组。
对比List和Array
import numpy as np
# 定义一个列表和一个数组
my_list = [1, 2, 3, 4, 5]
my_array = np.array([1, 2, 3, 4, 5])
# 打印两者
print("List:", my_list)
print("Array:", my_array)
# 添加元素
my_list.append(6) # 列表支持动态添加
print("Updated List:", my_list)
# 数组中无法直接 append,但可以用 NumPy 的 concatenate 函数
my_array = np.append(my_array, 6)
print("Updated Array:", my_array)
# 矢量化操作
try:
print("List * 2:", my_list * 2) # 列表会重复内容
print("Array * 2:", my_array * 2) # 数组会对每个元素乘以 2
except Exception as e:
print("Error:", e)
输出:
List: [1, 2, 3, 4, 5]
Array: [1 2 3 4 5]
Updated List: [1, 2, 3, 4, 5, 6]
Updated Array: [1 2 3 4 5 6]
List * 2: [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
Array * 2: [ 2 4 6 8 10 12]
列表操作:
bounds_x = [(0.05, 2), (0.25, 1.3), (2, 15)]
# 访问第二个元组的第一个值
**print(bounds_x[1][0])** # 输出: 0.25
# 遍历整个列表
for bound in bounds_x:
print(bound)
数组操作:
import numpy as np
bounds_array = np.array([(0.05, 2), (0.25, 1.3), (2, 15)])
# 访问第二行的第一个值
**print(bounds_array[1, 0]**) # 输出: 0.25
# 对整个数组进行操作,比如将所有值乘以 2
print(bounds_array * 2)
总结
list: 是动态的,适合存储不同类型的元素。
array: 用于数值计算,支持矢量化操作。