定义
- 列表是有序的可变元素的集合,使用中括号[]包围,元素之间用逗号分隔
- 列表是动态的,可以随时扩展和收缩
- 列表是异构的,可以同时存放不同类型的对象
- 列表中允许出现重复元素
列表的使用
# 列表使用创建
# 构造方法:list()
li = list()
print(type(li),li)
运行结果
列表是异构的,可以存放不同类型的对象
li2 = ['woshishaoqiran']
print(type(li2),li2)
li3 = ['a','b','c',1,3.14,'woshishaoqiran',[1,2,3],('woshishaoqiran')]
print (type(li3),li3)
运行结果
列表推导式
li4 = [i for i in range(1,10) if i % 2 == 0]
print (type(li4),li4)
运行结果
列表的正向索引及反向索引
- 正向索引从下标为0开始依次向后累计
- 反向索引下标从‘-1’开始,是指倒数第二个元素
li5 = [1,2,3,4,5,6]
print (li5[1:6])
[2,3,4,5,6
反向索引
li5 = [1,2,3,4,5,6]
print (li5[1:-1])
[2,3,4,5]
列表使用:运算符
重复:使用*可以重复生成列表元素
li6 = ['shaoqiran'] *6
print (li6)
#运算结果:['shaoqiran', 'shaoqiran', 'shaoqiran', 'shaoqiran', 'shaoqiran', 'shaoqiran']
合并:使用+运算符,可以将两个列表合二为一
li7 = ['shaoqiran'] + ['woaini']
print (li7)
运算结果:['shaoqiran', 'woaini']
列表使用:成员检测
in:检测一个对象是否在列表中,如果在则返回True,如果不在则返回False
li8 = [1,2,3,4,5]
print(1 in li8)
not in:检查一个列表是否不包含某个元素,如果不在返回true,否则返回false
li8 = [1,2,3,4,5]
print(6 not in li8)
列表的方法
append(item):将一个对象item添加到列表的末尾
li1=[]
li1.append(1)
li1.append('shaoqiran1')
extend(item):将一个可迭代对象的所有元素,添加到列表末尾
li9 = []
li9.extend('hello')
print(len(li9),li9)
运行结果:5 ['h', 'e', 'l', 'l', 'o']
insert(index,item):将一个对象插入到指定的索引位置(原索引的位置向后移一位)
li9.insert(3,'h')
print('第四个元素是新插入的元素h:',li9[3])
print('插入新元素后的列表是:',li9)
运行结果是:、
第四个元素是新插入的元素h: h
插入新元素后的列表是: ['h', 'e', 'l', 'h', 'l', 'o']
pop(index) 返回索引的元素
pop()未指定索引则返回末尾元素
print(li9.pop(3))
print(li9.pop())
运行结果是:
插入新元素后的列表是: ['h', 'e', 'l', 'h', 'l', 'o']
h
o
remove(item)
- 移除列表中第一个等于item的元素
- 目标元素必须存在,否则会报valueerror
print(li9)
li9.remove('h')
print(len(li9),'删除一个为字母h后的列表为:',li9)
运行结果是:
['h', 'e', 'l', 'l']
3 删除一个为字母h后的列表为: ['e', 'l', 'l']
sort(key = none,reverse = false)
- 对列表进行原地排序,只使用<来进行各项间比较
- 入参
- key:指定带有一个参数的函数,用于从每个列表中提取比较键
- reverse:默认值为false表示升序,为true表示降序
reverse
-
将列表中的元素调转个顺序
-
li9.reverse() print(li9) 运行后的结果是: ['e', 'l', 'l'] ['l', 'l', 'e']
列表嵌套
print(li10[1][2])#打印大中括号内的第二个元素中小中括号内第三个元素java
li10[1].append('charger')
print(li10)
运行结果是:[[1, 2, 3], ['python', 'go', 'java', 'charger']]
列表推导式
#实现功能:将1-10中的所有偶数平方后组成新的列表
result = [ele ** 2 for ele in range(1,11) if ele % 2 == 0]