列表的定义与创建
定义:[ ] 内以逗号分隔 按照索引, 存放各种数据类型. 是一种有序的, 可变的数据类型
创建:
- In [4]:
- list1 = [1, 2, '3', [4,5], {
- 'name': 'jiangziya'
- }]
- list2 = list([1,2,3])
- print(list1)
- print(list2)
- [1, 2, '3', [4, 5], {
- 'name': 'jiangziya'
- }]
- [1, 2, 3]
常用方法:
- In [16]:
- # 增
- li = ['江子牙','李小华','彭小强']
- # append(): 默认在末尾添加
- li.append('汪小峰')
- print(li)
- li.append([4,5,6])
- print(li)
- # insert(): 插入指定位置
- li.insert(1,'谭小雯')
- print(li)
- # extend(): 拆分插入 参数为可迭代对象
- li.extend([1,2,3])
- print(li)
- li.extend('abc')
- print(li)
- ['江子牙', '李小华', '彭小强', '汪小峰']
- ['江子牙', '李小华', '彭小强', '汪小峰', [4, 5, 6]]
- ['江子牙', '谭小雯', '李小华', '彭小强', '汪小峰', [4, 5, 6]]
- ['江子牙', '谭小雯', '李小华', '彭小强', '汪小峰', [4, 5, 6], 1, 2, 3]
- ['江子牙', '谭小雯', '李小华', '彭小强', '汪小峰', [4, 5, 6], 1, 2, 3, 'a', 'b', 'c']
- In [26]:
- # 删
- li = ['江子牙','李小华','彭小强',1,2,3,0]
- # pop(index) 默认移除最后一个 可以指定索引 有返回值
- res = li.pop()
- print(res)
- print(li)
- print(li.pop(-3))
- print(li)
- # remove() 指定某个元素删除 没有返回值
- li.remove(2)
- print(li)
- # del 将列表从内存中删除 支持切片删除
- del li[2]
- print(li)
- # clear() 将列表清空. 空列表
- li.clear()
- print(li)
- del li
- 0
- ['江子牙', '李小华', '彭小强', 1, 2, 3]
- 1
- ['江子牙', '李小华', '彭小强', 2, 3]
- ['江子牙', '李小华', '彭小强', 3]
- ['江子牙', '李小华', 3]
- []
- In [35]:
- # 改
- li = ['江子牙','李小华','彭小强',1,2,3,0]
- # 通过索引修改
- li[2]='小强'
- print(li)
- # 通过切片修改 在指定索引范围内, 逐一修改
- li[-3:]='abcdefg'
- print(li)
- li[-2:]=[5,6,7]
- print(li)
- ['江子牙', '李小华', '小强', 1, 2, 3, 0]
- ['江子牙', '李小华', '小强', 1, 'a', 'b', 'c', 'd', 'e', 'f', 'g']
- ['江子牙', '李小华', '小强', 1, 'a', 'b', 'c', 'd', 'e', 5, 6, 7]
- In [36]:
- # 查
- li = ['江子牙','李小华','彭小强',1,2,3,0]
- # 切片
- print(li[0])
- print(li[1:])
- for i in li:
- print(i)
江子牙
['李小华', '彭小强', 1, 2, 3, 0]
江子牙
李小华
彭小强
- 1
- 2
- 3
- 0
- In [43]:
- # 公共方法
- li = ['江子牙','李小华','彭小强',1,2,3,0,1,2,3]
- # 长度
- print(len(li))
- # 某个元素出现的次数
- print(li.count(1))
- # 某个元素的索引 没有找到就报错
- print(li.index('李小华'))
- 10 2 1
- In [56]:
- # 排序
- li = [15,6,13,222,1,2,3,0,1,2,3,-520]
- li2 =['a','b','d','z','f','A','B','S','C']
- # sort() 没有返回值, 对原列表直接进行排序操作. 默认正向排序, 要想倒序, 参数 reverse=True 就可以, key 还支持好多玩法
- li.sort()
- print(li)
- li2.sort()
- print(li2)
- li.sort(reverse=True)
- print(li)
- [-520, 0, 1, 1, 2, 2, 3, 3, 6, 13, 15, 222]
- ['A', 'B', 'C', 'S', 'a', 'b', 'd', 'f', 'z']
- [222, 15, 13, 6, 3, 3, 2, 2, 1, 1, 0, -520]
- In [60]:
- # 反转列表
- li = [15,6,13,222,1,2,3,0,1,2,3,-520]
- # reverse()
- li.reverse()
- print(li)
- # 切片反转
- li = li[::-1]
- print(li)
- [-520, 3, 2, 1, 0, 3, 2, 1, 222, 13, 6, 15]
- [15, 6, 13, 222, 1, 2, 3, 0, 1, 2, 3, -520]
- In [63]:
- # 列表的嵌套
- li = ['江子牙','李小华','彭小强',1,2,3,0,1,2,3]
- # 找到江子牙的子牙
- print(li[0][1:])
子牙
来源: https://www.cnblogs.com/xjmlove/p/10124091.html