概念
参考博客
元组:用于存储值固定不变的值表,如(1,[1,2],‘q’)
列表:用于存储其值可变的表,列表中的元素类型可不同,如[1,2,[1,2],‘m’,(1,2)]
数组:类型相同,数量有限的变量组合在一个集合中,如[1,2]
参考博客
进一步的了解:
- python现在只有元组(tuple)和列表(list),没有数组
- 元组一旦创建不可改变,例如:aa=tuple(1,2,3);不能追加(append)元素,弹出(pop)元素等
- 只能对元组中的元素进行索引aa[0],不能对其中的元组进行赋值aa[0]=8;
- 而列表都可以。
使用方法
元组赋值、取值
tup1=('h',1,[1,2]) #创建元组
tup2=() #创建空元组
tup3=(50,) #只有一个数据需要加个逗号
print(tup1[2]) #[1, 2]
print(tup1[1:3]) #(1, [1, 2])
print(tup1[2][1]) #2
元组组合
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup1=('h',1,[1,2])
tup2=()
tup3=(50,)
tup4=tup1+tup2+tup3
print(tup4) #('h', 1, [1, 2], 50)
列表操作
lst=[1,2,(1,2),"m"] #赋值
lst1=range(7) #默认0-7之间的整数序列,步长为1
lst2=range(2,6) #2-6之间的
lst3=range(0,20,2) #0-20之间,步长为2的
print(list(lst1)) #[0, 1, 2, 3, 4, 5, 6]
print(list(lst2)) #[2, 3, 4, 5]
print(list(lst3)) #[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
print(lst[-1]) #m
print(len(lst)) #4
其他方法
L.append(var) #追加元素 L.insert(index,var)
L.pop(var) #返回var这个位置的数值,并从list中删除
L.remove(var) #删除第一次出现的该元素
L.count(var) #该元素在列表中出现的个数
L.index(var) #该元素的位置,无则抛异常
L.extend(list) #追加list,即合并list到L上
L.sort() #排序
L.reverse() #倒序
list 操作符:,+,*,关键字del a[1:] #片段操作符,用于子list的提取 [1,2]+[3,4] #为[1,2,3,4]。
同extend() [2]*4 #为[2,2,2,2] del L[1] #删除指定下标的元素 del L[1:3] #删除指定下标范围的元素
列子:
lst=[1,2,3,7,2,3,3,2]
lst.append(8) #[1, 2, 3, 7, 2, 3, 3, 2, 8]
lst.insert(0,9) #[9, 1, 2, 3, 7, 2, 3, 3, 2, 8]
lst.pop(0) #[1, 2, 3, 7, 2, 3, 3, 2, 8]
lst.remove(2) #[1, 3, 7, 2, 3, 3, 2, 8]
lst.count(3) #3
lst.index(1) #0
lst.extend([5,4,3]) #[1, 3, 7, 2, 3, 3, 2, 8, 5, 4, 3]
lst.sort() #[1, 2, 2, 3, 3, 3, 3, 4, 5, 7, 8]
lst.reverse() #[8, 7, 5, 4, 3, 3, 3, 3, 2, 2, 1]
列表的复制
L1 = L #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的
L1 = L[:] #L1为L的克隆,即另一个拷贝。