Python列表知识点梳理学习
需要掌握的知识点梳理:
1、什么是列表,列表如何表示,以及如何改变列表中某些元素的值。
2、append()函数的使用(用于在列表末尾插入一个元素);
3、insert()函数的使用(用于在列表的指定位置插入一个元素);
4、Pop()函数的使用(用于移除列表某个位置的元素,返回值为该移除的元素);
5、Remove()函数的使用(用于按值删除元素,找到第一个符合要求的值然后从列表中删除);
6、In 用于判断某个元素是否属于某个列表中的值;
7、列表的合并方法:(1)A列表 = A列表 + B列表;(2)A列表.extend(B列表);
8、sort()函数用于对列表进行排序,也可以根据元素字符串长度进行排序(.sort(key = len));
9、Bisect模块的使用,用于对有序列表的插入操作,bisect.bisect()用于找出新元素应该插入到哪个位置才能保持原列表的有序性(返回值为该新元素应该插入的位置,bisect.bisect()的使用:bisect.bisect(列表名称,待插入的新元素)),而bisect.insort()则确实将新元素插入到那个指定的位置上去(bisect.insort()的使用:bisect.insort(列表名称,待插入的新元素))。
10、切片:列表[起位置:止位置:步长],起止位置可以不设置,默认为0,步长可以为负数。
代码实例:
范例:
>>> name = ['Li' , "Wang" , "Wu"]
>>> name.append("Zhao")
>>> name
['Li', 'Wang', 'Wu', 'Zhao']
范例:
>>> name = ['Li' , "Wang" , "Wu"]
>>>#列表末尾添加元素
>>> name.append("Zhao")
>>> name
['Li', 'Wang', 'Wu', 'Zhao']
>>>#列表指定位置添加元素
>>> name.insert(1 , "Zhou")
>>> name
['Li', 'Zhou', 'Wang', 'Wu', 'Zhao']
>>>#pop函数用于删除并返回指定索引处的元素
>>> name.pop(3)
'Wu'
>>> name
['Li', 'Zhou', 'Wang', 'Zhao']
>>> name.append ("Hua")
>>> name
['Li', 'Zhou', 'Wang', 'Zhao', 'Hua']
>>> name.insert (4 , 'Zhou')
>>> name
['Li', 'Zhou', 'Wang', 'Zhao', 'Zhou', 'Hua']
>>>#remove用于按值删除元素,找到第一个符合要求的值然后将其从列表中删除
>>> name.remove ("Zhou")
>>> name
['Li', 'Wang', 'Zhao', 'Zhou', 'Hua']
>>> name.remove ("Zhou")
>>> name
['Li', 'Wang', 'Zhao', 'Hua']
>>>#in运算,判断列表中是否包含某个值
>>> "Zhao" in name
True
>>> Tel = ['123','321','567']
>>>#用+号列表的合并运算
>>> name + Tel
['Li', 'Wang', 'Zhao', 'Hua', '123', '321', '567']
>>> Mes = name + Tel
>>> Mes
['Li', 'Wang', 'Zhao', 'Hua', '123', '321', '567']
>>>#extend用于一个列表后面添加另外一个已知列表,原列表值发生改变
>>> name.extend(Tel)
>>> name
['Li', 'Wang', 'Zhao', 'Hua', '123', '321', '567']
>>>#sort()函数用于列表进行排序
>>> Mark = [55,23,99,42,87,60]
>>> Mark
[55, 23, 99, 42, 87, 60]
>>> Mark.sort ()
>>> Mark
[23, 42, 55, 60, 87, 99]
>>>#用于根据元素长度对列表元素进行排序
>>> Mark1 = ["1","23","234","32","34",'1000']
>>> Mark1.sort(key = len )
>>> Mark1
['1', '23', '32', '34', '234', '1000']
>>>#Python内置的bisect模块实现了二分法查找以及对有序列表的插入操作
>>> import bisect
>>> c = [1,2,2,2,3,4,7]
>>>#bisect.bisect()用于确认新元素应该被插到那个位置才能保证原列表的有序性
>>> bisect.bisect(c,2)
4
>>> bisect.bisect(c,5)
6
>>>#bisect.insort()函数用于将新元素插入到那个确定的位置上去
>>> bisect.insort(c,5)
>>> c
[1, 2, 2, 2, 3, 4, 5, 7]
>>>#列表的切片使用列表名.[::],包含起位置不包含止位置,以及步长
>>> seq = [7,2,3,7,5,6,0,1]
>>> seq[:]
[7, 2, 3, 7, 5, 6, 0, 1]
>>> seq[::2]
[7, 3, 5, 0]
>>> seq[1:4]
[2, 3, 7]
>>> seq[-6:-3]
[3, 7, 5]
>>> seq[::-1]
[1, 0, 6, 5, 7, 3, 2, 7]
>>> seq
[7, 2, 3, 7, 5, 6, 0, 1]
>>> seq[-6:-3:-1]
[]
>>> seq[-3:-6:-1]
[6, 5, 7]
>>> seq[:-7:-2]
[1, 6, 7]