列表List,用中括号 []表示,元素之间用(,)间隔
1、基本用法
testn=["aaa","bbb","ccc"]
print(len(testn))
print(testn)
textx=[1,2,3,testn]
print(len(textx))
print(textx) 把testn的参数也输出了
3
['aaa', 'bbb', 'ccc']
4
[1, 2, 3, ['aaa', 'bbb', 'ccc']]
2、列表下标
[1, 2, 3, ['aaa', 'bbb', 'ccc']]
0 1 2 3
3、列表的基本操作 表名加.加以下方法
append 在列表尾部增加元素 clear 列表清空 copy 复制生成另一个列表 count 统计指定元素个数 extend 两个列表元素合并 index 返回指定元素的下标
pop 删除并返回指定下标所对应到的元素 remove 删除列表中指定元素 reverse 反转列表元素顺序 sort 对列表元素进行排序
4、列表增加 append()和insert()
append 增加元素到列表末尾
ceshi=[1,2,3.3,"hello","everrr"]
ceshi.append("cs")
print(ceshi)
insert 增加到任意位置 列表.insert(1,"哈哈哈") 在1处(第2个位置的数)插入 哈哈哈
ceshi=[1,2,3.3,"hello","everrr"]
ceshi.append("cs")
ceshi.insert(1,"哈哈哈")
print(ceshi)
[1, '哈哈哈', 2, 3.3, 'hello', 'everrr', 'cs']
5、列表元素查找 index()查看下标、in成员运算判断、用下标读取对应的元素、切片读取、列表元素修改
index()查找元素:
ceshi=[1,2,3.3,"hello","everrr"]
print(ceshi.index(3.3)) 查找元素3.3的下标是多少
print(ceshi.index(3.3,0,3)) 在0-2的下标中查找3.3 列表.index(元素,开始,结束)
print(ceshi.index(5)) 查找元素为5的下标 (列表中没有元素为5的元素)
2 2 ValueError: 5 is not in list
in判断,想知道一个元素在不在列表中 用in判断
ceshi=[1,2,3.3,"hello","everrr"]
print(5 in ceshi)
False
3、用下标读取对应的元素和切片
ceshi=[1,2,3.3,"hello","everrr"]
print(ceshi[2])
print(ceshi[1:])
3.3
[2, 3.3, 'hello', 'everrr']
4、列表元素修改 字符串不能修改但是列表元素可以修改
ceshi=[1,2,3.3,"hello","everrr"]
ceshi[0]=2
print(ceshi)
[2, 2, 3.3, 'hello', 'everrr']
6、
列表元素删除 clear()、pop()、remove()、 del函数
clear(),清楚列表里的所有元素,使列表变为空列表
hahah=[1,2,3,4]
hahah.clear()
print(hahah)
输出结果[]
2、pop()方法,格式为列表.pop([index]) 如果不指定下标,默认弹出最后一个参数 区别:这个是把这个数从列表中删除,然后可以给到其他地方
hahah=[1,2,3,4]
tanchu=hahah.pop(0)
print(tanchu,hahah) 1 [2, 3, 4] 把第一个数弹出给到 tanchu
tanchu2=hahah.pop()
print(tanchu2,hahah) 4 [2, 3] 没有指定下标,把最后一个数弹出
3、remove()方法 格式为 列表.remove(value) 跟进value进行删除,如果存在多个,一次只会删除最左边的一个
hahah=[1,2,3,4,3]
hahah.remove(3)
print(hahah) 1243 把靠近左边的3 删除了
4、del 可以删除列表中的某个元素(del(列表[下标]))或者直接删除整个列表del(列表)
hahah=[1,2,3,4,3]
del(hahah[0])
print(hahah) [2, 3, 4, 3] 删除了下标为0的元素
del(hahah)
print(hahah) NameError: name 'hahah' is not defined 因为删除了整个列表 所有报错
6、
7、列表元素合并 extend()方法或者直接用+号
区别:extend()不会改变值的id地址号 而+会改变相当于重新赋值
extend()
aa=[1,2,3,4]
bb=["aa","bb","cc","dd"]
print(id(aa)) 58271144
aa.extend(bb)
print(id(aa)) 58271144 id没有变化
print(aa,bb)
58271144
58271144
[1, 2, 3, 4, 'aa', 'bb', 'cc', 'dd'] ['aa', 'bb', 'cc', 'dd']
用+号合并
aa=[1,2,3,4]
bb=["aa","bb","cc","dd"]
print(id(aa)) 47392168
aa=aa+bb
print(id(aa)) 47393608
aa的值变了
print(aa,bb)
47392168
47393608
[1, 2, 3, 4, 'aa', 'bb', 'cc', 'dd'] ['aa', 'bb', 'cc', 'dd']
8、列表元素的排序 sort() reverse=True 从大到小
aa=[1,2,3,4,8,6,9,3,1]
aa.sort(reverse=True) [9, 8, 6, 4, 3, 3, 2, 1, 1]
# aa.sort() [1, 1, 2, 3, 3, 4, 6, 8, 9]
print(aa)
9、列表的其他操作 copy()复制列表、count()对某个元素计数、reverse()永久性反向记录
coopy
aa=[1,2,3,4,8,6,9,3,1]
new_aa=aa.copy()
print(new_aa)
[1, 2, 3, 4, 8, 6, 9, 3, 1]
count()
aa=[1,2,3,4,8,6,9,3,1]
print(aa.count(3))
2 2个3
reverse()反向列表
aa=[1,2,3,4,8,6,9,3,1]
aa.reverse()
print(aa) [1, 3, 9, 6, 8, 4, 3, 2, 1]