Python基础语法之列表 元组

时间:2023-01-27 14:59:40

1 列表

  列表由一系列按照特定顺序的元素组成,其中的元素可以使不同的数据类型,用[ ]来表示列表,用逗号来分割列表中的元素。

  1.1 列表操作之切片   

 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(a[1:3]) # [2, 3] 前闭后开
print(a[1:]) # [2, 3, 4, 5, 6, 7, 8, 9, 10]
print(a[1:-1]) # [2, 3, 4, 5, 6, 7, 8, 9]
print(a[-1]) #
print(a[1:4:2]) # [2, 4]
print(a[3:0:-2]) # [4, 2]

  列表的切片操作可以进行两个列表的简单拷贝

a = [1,2,3,4,5]
b = a[:]

  1.2 列表操作之增

 # 1 append方法
a = [x for x in range(10)]
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a.append(10) # 将数据添加到列表的-1位置
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 2 insert方法
a.insert(3, 11) # 第一个参数是索引,的二个参数是添加的数据
print(a) # [0, 1, 2, 11, 3, 4, 5, 6, 7, 8, 9, 10]

  1.3 列表操作之删

 a = [x for x in range(10)]
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a.remove(9) # 将索引为9的元素删除
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
b = a.pop(8) # 将索引为8的元素从列表中弹出,并将弹出的元素返回
print(a) # [0, 1, 2, 3, 4, 5, 6, 7]
print(b) #
del a[0] # 将索引为0的元素删除
print(a) # [1, 2, 3, 4, 5, 6, 7]
a[0:3] = []
print(a) # [4, 5, 6, 7]
a.clear()
print(a) # []
del a

  1.4 列表操作之改

 a = [i for i in range(10)]
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a[0] = 10
print(a) # [10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a[3:6] = ['a', 'b', 'c']
print(a) # # [10, 1, 2, 'a', 'b', 'c', 6, 7, 8, 9]

  1.5 列表内置方法之count()

a = [1, 2, 4, 1, 9, 1, 0, 1]
b = a.count(1) # 计算传入的参数在列表中出现的次数
print(b) #

  1.6 列表内置方法之extent()

a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b) # 将列表b添加到列表a中
print(a) # [1, 2, 3, 4, 5, 6]

  1.7 列表内置方法之index()

a = [1, 2, 3, 4, 5, 6]
b = a.index(4) # 获取参数中的数据在列表a中的索引位置,并返回
print(b) #

  1.8 列表内置方法之reverse()

a = [1, 2, 3, 4, 5, 6]
a.reverse()
print(a) # [6, 5, 4, 3, 2, 1]

  1.9 列表内置方法之sort()

 a = ['B', 'n', 'd', 'o', 'A']
a.sort() # 按照ASCII码排序,正序
print(a) # ['A', 'B', 'd', 'n', 'o']

  1.10 列表内置方法之copy()

 a = [1, 2, 3, 4, 5]
b = a.copy() # 只是浅拷贝
print(b) # [1, 2, 3, 4, 5] # 浅拷贝
a = [[1, 2, 3], 4, 5, 6]
b = a.copy()
a[0][0] = 2
print(b) # [[2, 2, 3], 4, 5, 6] 修改a,b也发生改变

2 元组

  2.1 创建元组 

 tup1 = (1, 2, 3,)
tup2 = (1, ) # 如果元组里只包含一个元素,则在元素后面加逗号
print(tup1)
print(tup2)

  2.2 注意事项

  元组是不可变数据类型,不可修改,但是可以重新赋值。

  因为元组是不可变数据类型,因此元组可以作为字典的键使用

  元组可以作为许多内建函数和方法的返回值

  元组只有两个内置方法count和index

  元组内嵌入可变数据类型像列表,可以修改列表中的值

 a = ([1, 2, 3], 4, 5)
a[0][0] = 0
print(a) # ([0, 2, 3], 4, 5)