list类-列表
一、list类的基本属性
1. 列表格式
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
2. 列表中可以嵌套任何类型
中括号括起来
使用,分割每个元素
列表中的元素可以是 数字,字符串,列表,布尔值;所有的都能放进去。
“集合”,内部放置任何东西
3.索引取值
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
print(li[3])
#age
4.切片取值
切片结果也是列表
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
print(li[3:-1])
#['age', ['伊文', ['19', 10], 'even'], 'root']
5.for循环
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
for n in li:
print(n)
#
#
#
#age
#['伊文', ['19', 10], 'even']
#root
#True
二、list类中元素的修改
1.修改
索引修改
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
li[1] = 120
print(li)
li[1] = [11,22,33,44]
print(li)
#[1, 120, 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
#[1, [11, 22, 33, 44], 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
索引修改
切片修改
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
li[1:3] = [120,90]
print(li)
#[1, 120, 90, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
切片修改
2.删除
索引删除
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
del li[1]
print(li)
#[1, 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
索引删除
切片删除
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
del li[2:6]
print(li)
#[1, 12, True]
切片删除
三、list类的一些操作
1.in操作
判断元素是否在列表里
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
v1 = "伊文" in li
print(v1)
v2 = "Q" in li
print(v2)
#False #伊文在嵌套内列表的元素中
#True
2.提取操作
li = [1, 12, 9, "age", ["伊文", ["", 10], "even"], "root", True]
n = li[4][1][0] #提取第5个元素列表中的第2个元素列表中的第1个元素
print(n)
#
3.转换
字符串转换列表,内部自己使用for循环
li = list("evenroot")
new_li = list(li)
print(new_li)
#['e', 'v', 'e', 'n', 'r', 'o', 'o', 't']
列表转换成字符串(既有数字又有字符串的情况)
需要自己写for循环一个一个处理
li = [11,22,33,"","even"]
s = ""
for i in li:
s = s + str(i)
print(s)
#112233123even
列表转换成字符串(列表中的元素只有字符串的情况)
直接使用字符串join方法
li = ["","alex"]
v = "".join(li)
print(v)
#123alex
四、list类中提供的方法
1.append
在原来值最后整体追加
li = [11,22,33,44]
v = li.append(5)
print(v)
print(li) v = li.append(["root"])
print(v)
print(li)
#None
#[11, 22, 33, 44, 5]
#None
#[11, 22, 33, 44, 5, ['root']]
append
2.clear
清空列表
li = [11,22,33,44]
li.clear()
print(li)
#[]
clear
3.copy
拷贝(浅拷贝)
li = [11,22,33,44]
v = li.copy()
print(v)
#[11,22,33,44]
copy
4.count
计数,计算元素出现的次数
li = [11,22,33,22,44]
v = li.count(22)
print(v)
#
count
5.extend
扩展原列表,参数:可迭代对象
一个一个追加元素(区别于append)
li = [11,22,33,22,44]
li.extend([9999,"root"])
print(li)
#[11, 22, 33, 22, 44, 9999, 'root']
extend
6.index
根据值获取当前值索引位置(左优先)
li = [11,22,33,22,44]
v = li.index(33)
print(v)
#
index
7.insert
在指定索引位置插入元素
li = [11,22,33,22,44]
li.insert(0,99)
print(li)
#[99, 11, 22, 33, 22, 44]
insert
8.pop
删除某个值,并获取删除的值
默认情况
li = [11,22,33,22,44]
v = li.pop()
print(li)
print(v)
#[11, 22, 33, 22]
#
pop()
指定索引的情况
li = [11,22,33,22,44]
v = li.pop(1) #拿掉第二个元素
print(li)
print(v)
#[11, 33, 22, 44]
#
pop(1)
9.remove
删除列表中的指定值(左优先)
li = [11,22,33,22,44]
li.remove(22)
print(li)
#[11, 33, 22, 44]
remove
*到这里为止这几类方法和操作都可以对list类进行修改或删除
pop
remove
del li[0]
del li[1:-1]
clear
10.reverse
将当前列表进行反转
li = [11,22,33,22,44]
li.reverse()
print(li)
#[44, 22, 33, 22, 11]
reverse
11.sort
排序
从小到大排序
li = [11,44,22,33,22]
li.sort()
print(li)
#[11, 22, 22, 33, 44]
sort()
从大到小排序
li = [11,44,22,33,22]
li.sort(reverse=True)
print(li)
#[44, 33, 22, 22, 11]
sort(reverse=True)
*cmp key sorted暂不讨论