主要内容
1、列表
2、列表的增删改查
3、列表的嵌套
4、元组和元组的嵌套
5、range
一、列表
- 1 列表的介绍
列表是python的基础数据类型之一,是以[]括起来,每个元素以’,'隔开,可以存放多种数据类型:
[^举例]: lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我叫":"dict字典"},{"我叫集合","集合"}]
列表相比于字符串,不仅可以存放不同的数据类型,而且还可以存放大量的数据,32位(536870912个元素)、64位(1152921504606846975个元素)。而且列表是有序的,可以按照我们保存的顺序,有索引,可以切片取值
- 2 列表的索引与切片
列表和字符串一样也拥有索引:
lst = ["A","B","C"]
print(lst[0]) #获取第一个元素 => A
lst[2] ="CC" #注意. 列表是可以发生改变的. 这里和字符串不一样
print(lst) #["A","B","CC"]
- 列表的切片:
lst = ["A","B","C","D","E"]
print(lst[0:3]) #["A","B","C"]
print(lst[:3]) #["A","B","C"]
print(lst[1::2] )#['B', 'D'] 步长
print(lst[2::-1]) #['C', 'B', 'A'] 可以倒着取
print(lst[-1:-4:-2]) #['E', 'C'] 倒着取+步长
二 列表的增删改查
- 增,注意list和str是不一样的,lst可以发生改变,所以直接就在原来的对象进行了操作
lst = ["A","B","C","D","E"]
print(lst)
lst.append("F") #在末尾增加 "F"
print(lst) # ["A","B","C","D","E","F"]
lst1 = ["A","B","C","D","E"]
lst.insert(1,"AA") #在索引1的位置插入"AA",原来的元素向后移一位
#迭代添加
lst2 = ["A","B","C","D","E"]
lst.extend(["F","G"])
print(lst)
- 删,方法:pop,remove,clear,del
lst = ["A","B","C","D","E"]
lst.pop() #删除最后一个
lst.pop(2) #删除索引2的元素
lst.remove("C") #删除指定的元素,但删除不存在的元素会报错
#切片删除
del lst[1:3] #删除索引1到3之前的元素
- 改,根据索引、切片进行更改
lst = ["A","B","C","D","E"]
lst[0] = "AA" #将A 修改为 AA
lst[1:4:2]=["1","2"]
print(lst) #['A', '1', 'C', '2', 'E'] ,注意修改元素的个数
lst[0:2]=["1","2"]
print(lst) #['1', '2', 'C', 'D', 'E'] 如果切片没有步长或者步长是1. 则不用关心个数
- 查,列表是一个可迭代对象,可进行for循环
lst = ["A","B","C","D","E"]
for el in lst:
print(el)
- 其他操作
lst = ["A","B","C","D","E","A"]
lst.count("A") #查询A 在lst中出现的次数
lst1 = [2,22,3,11]
lst1.sort() #排序,默认升序,从小到大
lst1.sort(reverse=True) #降序,从大到小
lst3 = ["A","B","C","D","E","A"]
lst3.reverse() #颠倒排序
print(lst3) #['A', 'E', 'D', 'C', 'B', 'A']
l = len(lst) #获取列表的长度
三 列表的嵌套
lst = ["A", ["B", ["C"], "D","abcde"],"E","你好"]
#找 E
print(lst[2])
#找 D
print(lst[1][2])
#将abcde的首字母大写,再放回去
lst[1][3]=lst[1][3].capitalize()
print(lst) #['A', ['B', ['C'], 'D', 'Abcde'], 'E']
#将你换成我
lst[3] = lst[3].replace("你","我")
#在三维列表中插入CC
lst[1][1].append("CC")
print(lst) #['A', ['B', ['C', 'CC'], 'D', 'abcde'], 'E', '你好']
四 元组和元组嵌套
- 元组:俗称不可变的列表,又称只读列表。
- 元组也是python的基础数据类型之一,用小括号起来,里面可以放任何数据类型的数据,可以查询、循环、切片,但就是不能修改
- 关于不可变,注意:这里元组的不可变的意思是子元素不可变,而子元素内部的子元素是可以变的,这取决于子元素是否是可变对象
tu = (1, "哈哈", [], "呵呵")
tu[2].append("嘻嘻") # 这样可以更改
- 元组中如果只有一个元素. 一定要添加个逗号, 否则就不是元组
tu = (1,)
print(type(tu))
- 元组也可使用count(),index(),len()等方法。
五 range
- range可以帮我们获取到一组数据,可通过for循环获取到这些数据
for num in range(10):
print(num) #输出0到9
for num in range(1, 10, 2):
print(num) #输出1,3,5,7,9 步长为2
for num in range(10, 1, -2): # 反着来, 和切片一样
print(num) #输出10,8,6,4,2