python 列表list相关知识
- List的元素可以是Python的任意数据类型(Boolean,Number,String,List,Dict,Set……)
- List同样可以使用索引和切片,切片得到的结果也是列表。
print(li[0]) print(li[3:-1])
- List支持for in循环和while循环,因此List也是可迭代对象。
- 列表和字符串不一样,列表可以被修改。List可以指定索引号修改,删除修改,切片修改,也可以通过切片删除,如del Li[2:6]
- 列表五种删除的方法:
pop
remove
clear
del Li(0) |索引删除
del Li(7:9) |切片删除 - in方法,可以查询List中是否存在此元素。
- list(str) |把字符串转换成列表。相当于在string内部执行for循环。
>>> s="abcdef" >>> new_li = list(s) >>> print(new_li) ['a',' 'b', 'c', 'd', 'e', 'f']
- 列表转字符串
若直接用str(li), 则会把一整个列表当作整个字符串来看,如下:
>>> li=[11,22,33] >>> str(li) '[11, 22, 33]'
(1) 列表中既有数字又有字符串时:需要自己写for循环
>>> li = [11,22,33,"123","alex"] >>> s = '' >>> for i in li: >>> s = s + str(i) >>> print(s) 112233123alex
(2)列表中全是字符串时:直接用join方法
>>> li = ['123','alex'] >>> v = ''.join(li) >>> print (v) 123alex
- Li.append( ) |在列表最后插入数字、字符串、列表等
- Li.clear( ) |清空列表
- Li.copy( ) |浅拷贝
- Li.count( ) |统计列表中的某个元素出现的次数
- Li.extend( ) |在列表最后面插入元素。与append不同的是,extend后面括号里的参数是可迭代对象,能进行for循环,因此,和append不一样的是,append把括号中的参数当作一整个整体插入到列表后,而extend把括号中的参数都拆分开来插入到列表最后。
append:
>>> Li = [11,22,33] >>> Li.append([998,'nice']) >>> print(Li) [11, 22, 33, [998, 'nice']]
extend:
>>> Li = [11,22,33] >>> Li.extend([998,'nice']) >>> print(Li) [11, 22, 33, 998, 'nice']
>>> Li = [11,22,33] >>> Li.extend('nice') >>> print(Li) [11, 22, 33, 998, 'nice', 'n', 'i', 'c', 'e']
- Li.index(self, value, Start = None, Stop = None) |根据值获取该值的索引位置,若有n个相同值则最左边的优先。
>>> Li = [11,22,33] >>> v=Li.index(22) >>> print(v) 1
- Li.insert( ) |在指定索引值插入指定元素
>>> Li = [11,22,33] >>> Li.insert(0,99) >>> print(Li) [99, 11, 22, 33]
- Li.pop( ) |默认删除列表最后面的值,并且获取该删除的值。( )中也可指定索引值,删除该索引对应的值,并获取该值。
- Li.remove( ) |删除列表中的指定值,若有n个相同的值,则最优先删除最左边的。
- Li.reverse( ) |将当前的列表顺序反转。
>>> Li = [11,22,33] >>> Li.reverse() >>> print(Li) [33, 22, 11]
- Li.sort( ) |默认将列表元素从小到大排序。
- Li.sort( reverse = True) |将列表元素从大到小进行排列。