1.说明
列表(list)是 Python 中一种常用的序列类型,与元组不同,列表中的元素是可以改变的,可以添加、删除和修改元素。列表使用方括号 [] 来表示,元素之间使用逗号分隔
说明
- 列表可以支持数字,字符串,和列表之间的嵌套
- 列表同样可以被索引和切片,可以使用+操作符进行拼接, 列表被截取后返回一个包含所需元素的新列表。
- 列表截取的语法格式:变量[头下标:尾下标];索引值以0为开始值,-1为从末尾的开始位置。
- 加号(+)是列表连接运算符,星号(*)是重复操作
- 但凡能被for循环遍历的数据类型都可以传给list()转换成列表类型,list()会跟for循环一样遍历出数据类型中包含的每一个元素然后放到列表中
2.操作列表
1.创建一个空列表
list1 = []
2.创建一个包含多个元素的列表
list2 = [1, 2, 3]
3.列表中可以包含不同类型的元素
list3 = [1, 'abc', True]
list = ['a', 'b', 'c']
print(list[0]) # 输出 'a'
print(list[-1]) # 输出 'c'
print(list[1:3]) # 输出 ['b', 'c']
3.列表内置方法
Python 中内置了丰富的列表方法,可以对列表进行排序、插入、删除、查找等操作。下面是列表常用的内置方法:
- list.append(obj):在列表末尾添加一个元素。
- list.extend(iterable):将可迭代对象中的所有元素添加到列表中。
- list.insert(index, obj):在指定位置插入一个元素。
- list.remove(obj):从列表中删除一个元素。
- list.pop([index]):删除列表中指定位置的元素,并返回该元素。
- list.index(obj):返回列表中第一个与 obj 相等的元素的索引。
- list.count(obj):返回列表中 obj 出现的次数。
- list.sort(key=None, reverse=False):对列表进行排序,默认升序排序。
- list.reverse():反转列表中的元素。
- list.copy():返回列表的浅复制。
list1 = [1, 2, 3]
1.append()列表尾部追加元素
l1 = ['a','b','c']
l1.append('d')
print(l1) #['a', 'b', 'c', 'd']
extend()一次性在列表尾部添加多个元素
2.l1.extend(['a','b','c'])
print(l1) #['a', 'b', 'c', 'd', 'a', 'b', 'c']
list2 = [4, 5, 6]
list1.extend(list2) # 将另一个列表中的元素添加到当前列表中
print(list1) # 输出 [1, 2, 3, 4, 5, 6]
3.l1.insert(0,"first") # 0表示按索引位置插值
print(l1) #['first', 'a', 'b', 'c', 'alisa', 'a', 'b', 'c']
list1.insert(2, 'abc') # 在指定位置插入一个元素
print(list1) # 输出 [1, 2, 'abc', 3, 4, 5, 6]
4.删除:del、pop、remove
l = [11,22,33,44]
del l[2] # 删除索引为2的元素
print(l) #[11,22,44]
pop()默认删除列表最后一个元素,并将删除的值返回,括号内可以通过加索引值来指定删除元素
l = [11,22,33,22,44]
res=l.pop()
print(res) #44
res=l.pop(1)
res #22
remove()括号内指名道姓表示要删除哪个元素,没有返回值
l = [11,22,33,22,44]
res=l.remove(22) # 从左往右查找第一个括号内需要删除的元素
print(res) #None
5.列表比较大小
字符串、列表等都可以比较大小,原理相同:都是依次比较对应位置的元素的大小,如果分出大小,则无需比较下一个元素
l1=[1,2,3]
l2=[2,]
l2 > l1 #True
# 字符之间的大小取决于它们在ASCII表中的先后顺序,越往后越大
s1='abc'
s2='az'
s2 > s1 # s1与s2的第一个字符没有分出胜负,但第二个字符'z'>'b',所以s2>s1成立 run:True
# 所以我们也可以对下面这个列表排序
l = ['A','z','adjk','hello','hea']
l.sort()
l #['A', 'adjk', 'hea', 'hello','z']
6.index = list1.index(4) # 返回列表中第一个与 obj 相等的元素的索引
print(index) # 输出 2
7.count = list1.count(4) # 返回列表中 obj 出现的次数
print(count) # 输出 1
8.sort()给列表内所有元素排序
排序时列表元素之间必须是相同数据类型,不可混搭,否则报错
l = [11,22,3,42,7,55]
l.sort()
print(l) #[3, 7, 11, 22, 42, 55] # 默认从小到大排序
l = [11,22,3,42,7,55]
l.sort(reverse=True) # reverse用来指定是否颠倒排序,默认为False
print(l ) #[55, 42, 22, 11, 7, 3]
9.list1.reverse() # 反转列表中的元素
print(list1) # 输出 [6, 5, 4, 2, 1]
10.new_list = list1.copy() # 返回列表的浅复制
print(new_list) # 输出 [6, 5, 4, 2, 1]
11.循环
# 循环遍历my_friends列表里面的值
for line in my_friends:
print(line)
'tony'
'jack'
'jason'
4
5
list1 = [1, 2, 3]
list1[1] = 'abc' # 直接修改列表中的元素
print(list1) # 输出 [1, 'abc', 3]
总之,列表是 Python 中常用的序列类型,具有可变性和可变结构的特点。使用丰富的内置方法,可以对列表进行排序、插入、删除、查找等操作,非常方便实用。