04_python_列表

时间:2023-03-09 02:17:24
04_python_列表

一、列表

  列表是用[ ]括起来并每个元素用逗号分割的,并且可以存放各种数据类型,存放的数据量非常大,列表是有序的(按照你保存的顺序),有索引, 可以切片方便取值.

  lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我叫":"dict字典"},{"我叫集合","集合"}]

  1、切片

 lst = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
print(lst[1::2]) # ['王剑林', '周鸿医'] 也有步长
print(lst[2::-1]) # ['马芸', '王剑林', '麻花藤'] 也可以倒着取
print(lst[-1:-3:-2]) # 倒着带步长

  2、增

  注意, list和str是不⼀样的. lst可以发⽣改变. 所以直接就在原来的对象上进⾏了操作

lis.append('wusir') #追加到末尾
lis.insert(1, '麻花') # 按照索引进行插入,会导致元素移动
lis.extend('alex') # 迭代追加, 'a', 'l', 'e', 'x'
lis.extend(['alex', 'wusir']) # 'alex', 'wusir'

  3、删

 lis.pop() # 默认删除最后一位,pop是有返回值的
lis.pop(2) # 弹出索引为2的元素
lis.remove('alex') # 直接删除元素
del lis[2]
del lis[1:3] # 切片删除
clear lis # 清空列表

  4、改

 lis[2] # 查索引为2的元素
lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步长不是1, 要注意. 元素的个数
print(lst)
lst[1:4] = ["李嘉诚个⻳⼉⼦"] # 如果切片没有步长或者步长是1. 则不用关心个数
print(lst) for el in lis:
print(el)

  5、其他操作

 lis.count('s') # 统计s在lis出现的次数
len(lis) # 计算列表长度
lis.sort() #列表正序
lis.sort(reverse = True) #列表倒序,reverse是参数
lis.reverse() #列表翻转,不是倒序

二、元组

  不可变列表,又称只读列表.它用小括号括起来,元素用逗号隔开,里面可以放任何数据类型数据,查询/嵌套/循环也可以,但是不能修改.注意: 这⾥元组的不可变的意思是⼦元素不可变. ⽽⼦元素内部的⼦元素是可以变, 这取决于⼦元素是否是可变对象.元组也有count/ len / index方法

三、range

 for num in range(10):
print(num)
for num in range(1, 10, 2):
print(num)
for num in range(10, 1, -2): # 反着来, 和切⽚⼀样
print(num)