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