1.list 类,列表
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
列表由中括号括起来;列表中可以嵌套任何类型;逗号分割每个元素;列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
列表相当于一个“集合”,内部放置任何东西
2.list类中提供的方法
(1)append():原来列表在最后位置进行追加
li = [11, 22, 33, 22, 44] li.append(5) li.append("alex") li.append([1234,2323]) print(li)
输出结果为:[11, 22, 33, 22, 44, 5, 'alex', [1234, 2323]](只能一个一个元素追加)
(2)clear():清空列表
li = [11, 22, 33, 22, 44] li.clear() print(li)
输出结果为:[]
(3)copy():浅拷贝
li = [11, 22, 33, 22, 44] v = li.copy() print(v)
输出结果为:[11, 22, 33, 22, 44]
(4)count():计算元素出现的个数
li = [11, 22, 33, 22, 44] v = li.count(22) print(v)
输出结果为:2
(5)extend():扩展原列表
li = [11, 22, 33, 22, 44] li.extend([9898,"王强"]) print(li)
输出结果为:[11, 22, 33, 22, 44, 9898, '王强']
相当于内部进行了for循环,和下面的命令输出一致
li = [11, 22, 33, 22, 44] for i in [9898,"王强"]: li.append(i) print(li)
extend()的参数是可迭代对象,进入列表中会变成一个个的元素,相比于append()对比结果:[11, 22, 33, 22, 44, [9898, '王强']]
li = [11, 22, 33, 22, 44] li.extend("不得了") print(li)
输出结果为:[11, 22, 33, 22, 44, '不', '得', '了'](将字符串中的字符一次追加成一个个的元素)
(6)index():某个元素的索引位置
li = [11, 22, 33, 22, 44] v= li.index(22) 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():删除某个元素(1.指定索引;2. 默认最后一个),并获取删除的元素
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]
(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](li.sort(reverse=True):从大到小排序)
3.列表中比较重要的功能
(1)索引取值
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] print(li[3])
输出结果为:age
索引取值时可以取到列表内部列表元素中的各种元素
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] print(li[4][1][0])
输出结果为:19
(2)切片取值
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] print(li[3:-1])
输出结果为:['age', ['王强', ['19', 10], '王思骐'], 'alex']
(3)for循环、while循环
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] for item in li: print(item)
输出结果为:
1
12
9
age
['王强', ['19', 10], '王思骐']
alex
True
(4)索引的方式修改和删除
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] li[1] = 120 print(li) li[1] = [11,22,33,44] print(li)
输出结果为:
[1, 120, 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]
[1, [11, 22, 33, 44], 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]
注:列表元素,可以被修改
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] del li[1] print(li)
输出结果为:[1, 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]
(5)切片的方式修改和删除
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] li[1:3] = [120,90] print(li)
输出结果为:[1, 120, 90, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] del li[2:6] print(li)
输出结果为:[1, 12, True]
(6)in 操作
li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True] v1 = "王思骐" in li print(v1) v2 = "age" in li print(v2)
输出结果为:False;True(必须是列表中的元素及以逗号为分割的整体in操作才会显示true)
(7)转换
a.字符串转换列表:li = list("asdfasdfasdf"),相当于内部使用for循环
s = "qwerdf" new_li = list(s) print(new_li)
输出结果为:['q', 'w', 'e', 'r', 'd', 'f']
b.列表转换成字符串
当列表元素既有数字又有字符串时: 用for循环一个一个处理
li = [11,22,33,"123","alex"] s = "" for i in li: s = s + str(i) print(s)
输出结果为:112233123alex
当列表元素只有字符串时:直接使用字符串join方法
li = ["123","alex"] v = "".join(li) print(v)
输出结果为:123alex