列表基本方法
列表内一般都会存储相同数据类型的数据
类型转换 数据类型关键字(需要转换的数据)
print(list(123)) # 报错
print(list(123.21)) # 报错
print(list('hello')) # ['h', 'e', 'l', 'l', 'o']
print(list({'username':'chick', 'pwd':123})) # ['username', 'pwd']
print(list((1, 2, 3))) # [1, 2, 3]
print(list({11, 22, 33})) # [33, 11, 22]
""" list关键字可以将支持for循环的数据类型转换成列表"""
列表修改、添加数据
1. 修改值
name_list = ['kevin', 'chick', 'mushroom', 'jack']
name_list[0] = 666
print(name_list) # [666, 'chick', 'mushroom', 'jack']
2. 添加值
方式1 尾部追加(将括号内的数据当成一个整体追加到列表末尾)
name_list.append(888))
print(name_list) # ['kevin', 'chick', 'mushroom', 'jack', 888]
name_list.append([666, 777, 888, 999])
print(name_list) # ['kevin', 'chick', 'mushroom', 'jack', [666, 777, 888, 999]]
方式2 插入元素(将括号内的数据当成一个整体插入到索引指定位置)
name_list.insert(0, 'hehehe')
print(name_list) # ['hehehe', 'kevin', 'chick', 'mushroom', 'jack']
name_list.insert(2, 'hehehe')
print(name_list) # ['kevin', 'chick', 'hehehe', 'mushroom', 'jack']
name_list.insert(0, [11, 22, 33])
print(name_list) # [[11, 22, 33], 'kevin', 'chick', 'mushroom', 'jack']
方式3 扩展元素(相当于for循环 + append操作)
name_list.extend([11, 22, 33, 44, 55])
print(name_list) # ['kevin', 'chick', 'mushroom', 'jack', 11, 22, 33, 44, 55]
l1 = [111, 222, 333, 444, 555]
l2 = [1, 2, 3, 4, 5, ]
for i in l2:
l1.append(i) # 将l2中元素追加到l1末尾
print(l1) # [111, 222, 333, 444, 555, 1, 2, 3, 4, 5]
列表删除数据
删除数据
方式1 通用删除方式
name_list = ['kevin', 'chick', 'mushroom', 'jack']
del name_list[1] # 根据索引直接删除 del是关键字delete缩写
print(name_list) # ['kevin', 'mushroom', 'jack']
方式2 remove() 括号内指定需要移除的元素值
name_list.remove('chick')
print(name_list) # ['kevin', 'mushroom', 'jack']
print(name_list.remove('kevin')) # None
方式3 pop() 括号内指定需要弹出的元素索引值 括号内如果不写参数则默认弹出列表尾部元素
name_list.pop(1)
print(name_list) # ['kevin', 'mushroom', 'jack']
name_list.pop()
print(name_list) # ['kevin', 'chick', 'mushroom']
print(name_list.pop()) # jack
其他方法
l1 = [44, 22, 11, 33, 99, 77, 88, 66]
l1.sort() # 默认是升序
print(l1) # [11, 22, 33, 44, 66, 77, 88, 99]
l1.sort(reverse=True) # 参数指定 降序
print(l1) # [99, 88, 77, 66, 44, 33, 22, 11]
l1.reverse() # 顺序颠倒
print(l1) # [66, 88, 77, 99, 33, 11, 22, 44]
print(l1[1:5]) # [22, 11, 33, 99]
print(l1[::-1]) # [66, 88, 77, 99, 33, 11, 22, 44] # 冒号左右两边不写数字默认全都要
print(l1[:5]) # [44, 22, 11, 33, 99] # 左边不写默认从头开始
print(l1[1:]) # [22, 11, 33, 99, 77, 88, 66] # 右边不写默认到尾部
了解知识
常用的数字类型直接比较大小,其实,字符串、列表都可以比较大小,原理相同;
都是依次比较对应位置的元素大小,例如:
l1 = [999, 111]
l2 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1 > l2) # True # 列表比较运算采用相同索引元素,只要有一个比出结果就直接得出结论
s1 = 'hello world'
s2 = 'abc'
print(s1 > s2) # True # 字符串比较大小也是按照索引位置内部转成ASCII对应的数字比较