一、添加数据
- append方法:往列表的结尾处添加一个元素(可以添加任何类型的数据,但只能添加一个元素)
例如:
li = ['名字', 'xiaohuan', 'python']
li.append(333)
print(li)
运行结果:
['名字', 'xiaohuan', 'python', 333]
- insert方法:在指定位置插入一个元素:第一个参数是插入的下标位置,第二个参数是插入的值
例如:
li = ['名字', 'xiaohuan', 'python']
li.append(333) //先在末尾添加数字333
li.insert(0, 123) //再在下标为0的位置添加数字123
print(li)
运行结果:
[123, '名字', 'xiaohuan', 'python', 333]
- extend方法:插入多个元素(在末尾插入,不能指定位置)
例如:
li = ['名字', 'xiaohuan', 'python']
li.append(333) //先在末尾添加数字333
li.insert(0, 123) //再在下标为0的位置添加数字123
li.extend(['aa', 'bb', 888]) //最后在末尾添加 'aa', 'bb', 888
print(li)
运行结果:
[123, '名字', 'xiaohuan', 'python', 333, 'aa', 'bb', 888]
二、删除数据
- remove方法:删除指定的元素(从前往后找一个)
例如:
li2 = [11,22,33,44,55]
li2.remove(11) //删除指定的元素11
print(li2)
运行结果:
[22, 33, 44, 55]
- pop方法:指定下标位置删除一个元素,默认删除最后一个元素
例如:
li2 = [11,22,33,44,55]
li2.pop() //默认删除最后一个元素
li2.pop(0) //指定下标为0的元素进行删除
print(li2)
运行结果:
[22, 33, 44]
- clear方法:清空列表
例如:
li2 = [11,22,33,44,55]
li2.clear()
print(li2)
运行结果:
[]
- del关键字:万能的删除(可以删除一个或多个)
例如:
li2 = [11,22,33,44,55]
del li2[0],li2[1] //先通过下标取值,然后删除,类似pop方法
print(li2)
运行结果:
[33, 44, 55]
三、查询数据
- 下标取值
- index方法:找到第一个匹配的元素,返回下标位置,没找到报错(了解)
例如:
li3 = [11, 22, 33, 44, 55, 'aaa',11]
res = li3.index(33) //用一个变量接收结果
print(res)
运行结果:
2
- count方法:获取某个元素的数量
例如:
li3 = [11, 22, 33, 44, 55, 'aaa',11,11]
res = li3.count(11)
print(res)
运行结果:
3
四、修改数据
通过下标找到元素,进行重新赋值
例如:
li3 = [11, 22, 33, 44, 55, 'aaa', 11, 11]
li3[5] = 66 //通过下标找到元素,进行重新赋值
print(li3)
运行结果:
[11, 22, 33, 44, 55, 66, 11, 11]
五、其他方法
- sort方法:排序(默认升序,加参数reverse=True,变为降序)
例如(升序):
li = [11,22,55,88,33,77,44,66,99]
li.sort() //默认升序
print(li)
运行结果:
[11, 22, 33, 44, 55, 66, 77, 88, 99]
例如(降序):
li = [11,22,55,88,33,77,44,66,99]
li.sort(reverse=True) // 加参数reverse=True,降序输出
print(li)
运行结果:
[99, 88, 77, 66, 55, 44, 33, 22, 11]
- reverse方法:反转字符串输出
例如:
li = [11, 22, 33, 44, 55, 'aaa', 11, 11]
li.reverse()
print(li)
运行结果:
[11, 11, 'aaa', 55, 44, 33, 22, 11]
- copy方法:复制(了解)
例如:
li = [11, 22, 33, 44, 55]
li1 = li //li1和li2是同一个元素
li2 = li.copy() //复制li,li2和li不是同一个元素
print(id(li))
print(id(li1)) //li1和li的内存地址是一样的
print(id(li2)) //li2和li的内存地址是不一样的
li.append(6666666666) //修改li中的元素
print(li)
print(li1) //li1的内容和li是一样的(修改后的)
print(li2) //li2的内容和li是不一样的(修改前的)
运行结果:
1652176
1652176
1653336
[11, 22, 33, 44, 55, 6666666666]
[11, 22, 33, 44, 55, 6666666666]
[11, 22, 33, 44, 55]