在“Python之基本数据类型概览”一节中,大概介绍了列表的基本用法,本节咱们详细学一下列表。python
如何定义列表:在[]
内以英文里输入法的逗号,
,按照索引,存放各类数据类型,每一个位置表明一个元素。app
回顾一下列表的特色:code
一、可存放多个值。blog
二、按照从左到右的顺序定义列表元素,下标从0开始顺序访问,是有序的。排序
三、可修改指定索引位置对应的值,可变。索引
一、追加class
用append
方法将数据追加到列表的尾部变量
names = ['Kwan', 'Kobe'] names.append('KK') names.append('LL') print(names)
二、插入循环
用insert
方法,可将数据插入任何位置数据类型
names = ['Kwan', 'Kobe', 'KK', 'LL'] names.insert(2, '小明') print(names)
三、合并
用extend
方法,能够把另一个列表的值合并进来
names = ['Kwan', 'Kobe', 'KK'] n = ['小明', '小红'] names.extend(n) print(names)
四、列表嵌套
names = ['Kwan', 'Kobe', 'KK'] names.insert(2, ['李白', 'sh']) print(names) print(names[2][1])
一、del 直接删除
names = ['Kwan', 'Kobe', 'KK'] del names[1] print(names)
二、pop
names = ['Kwan', 'Kobe', 'KK', 'LL'] names.pop() # 括号里不加参数,默认删除最后一个元素并返回被删除的值 names.pop(1) # 删除指定索引的元素 print(names)
三、clear 清空
names = ['Kwan', 'Kobe', 'KK'] names.clear() print(names)
直接从新赋值便可
names = ['Kwan', 'Kobe', 'KK', "LL"] names[1] = 'James' names[3] = '小明' print(names)
index()
方法用来查找对应元素的索引,count()
方法用来计算指定元素的个数
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL'] print(names.index('KK')) print(names.count('Kwan'))
切片就像切面包,能够同时取出元素的多个值。
语法:name[start : end]
names = ['Kwan', 'Kobe', 'KK', 'LL', '小明'] print(names[1:3]) # 不会包含索引为3的元素'LL'
注:切片的特性是顾头不顾尾,即start对应索引的元素会被包含进去,可是尾部只会包含到end-1。
一、倒着切片
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL'] print(names[-4:-1])
由于顾头不顾尾的特性,此时并未将最后一个打印出来,若是想把最后一个也包含进来该怎么作呢?
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL'] print(names[-4:]) # 要取到最后一个,直接不写左边的参数便可
同理,要取到第一个值:
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL'] print(names[:4]) # 也可写成names[0:4]
二、步长
经过设置步长,能够实现间隔取值
语法:names[start : end : step]
num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(num[0:7:2]) # 打印索引为0的元素到索引为6的元素,步长为2 print(num[::3]) # 打印所有元素,步长为3
三、列表反转
经过把步长设置成负值,可达到列表反转的效果
num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(num[::-1]) print(num[::-2])
一、排序
a = [34, 43, 65, 23, 12, 5] a.sort() print(a)
可是下面的排序结果该如何解释呢?
names = ['Kwan', 'Kobe', 'KK', '@', '小明'] names.sort() print(names)
答案全在下面这张表上:
二、反转
使用reverse()
方法
names = ['Kwan', 'Kobe', 'KK', '@', '小明'] names.reverse() print(names)
names = ['Kwan', 'Kobe', 'KK', '@', '小明'] for i in names: # 也能够不用i,只要符合变量名规则均可以 print(i)