序列是Python中最基本的数据类型,序列中每个元素都分配一个数字,即它的索引。
python中有6个序列的内置类型,但最常见的是列表和元组。
列表(List):
列表是最常见的python数据类型,它可以作为一个方括号内的逗号分隔值出现。
注:列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同数据项使用方括号括起来即可。
列表的访问可以通过索引,如:list2[1:5]。
列表里的数据项可以进行删除(del)也可以使用append()方法来添加列表项。
元组(tuple):
python的元组(tuple)和列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组的创建很简单,只需要在括号中添加元素,并使用逗号隔开。
元组可以使用下标索引来访问元组中的值,下标索引从0开始。tup2[1:5]
元组中的元素值是不允许修改的,但可以进行连接操作。tup3 = tup1 + tup2
元组之间可以使用+号和*号,即可以组合和复制。
注:任意无符号的对象,以逗号隔开,默认为元组。
矩阵和列表的相互转化:
range(10)给出一个正整数列表。用list命令可以显示里面的元素:
print(list(range(0, 10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
np.array(a)把列表a转化为矩阵:a=range(10) b= np.array(a)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
用list反过来把矩阵转化为列表。 c=list(b)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
注:
(1)如果b是矩阵,那么b*10表示对b里面的每一个元素乘以10。
而c是列表,c*10表示把c里面的元素复制10次。
(2)b**3表示对b里面的每一个元素计算3次方。
而c**3则没有意义,因为c是列表,不能进行幂运算。
例子:
把c*10转化为10*10的矩阵:
np.reshape(np.array(c*10),(10,10))
Out[42]:
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])