04_python_列表

一、列表

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

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

  1、切片

1 lst = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
2 print(lst[1::2]) # ['王剑林', '周鸿医'] 也有步长
3 print(lst[2::-1]) # ['马芸', '王剑林', '麻花藤'] 也可以倒着取
4 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、删

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

  4、改

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

  5、其他操作

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

二、元组

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

三、range

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

 

  

  

  

posted @ 2018-09-06 19:29  qi.hu  阅读(132)  评论(0编辑  收藏  举报