【Python3】 list,tuple方法汇总

1 append() 在列表末尾添加元素

li = [11,22,33]
val = li.append(44)
print(li)
print(val)
[11, 22, 33, 44]
None

2 clear() 清空列表

li = [11,22,33]
li.clear()
print(li)
[]

3 insert() 在指定位置插入数据

v = [11,22,33,44,"蒋毅"]
v.insert(4,"孙骑兵")           #索引从0开始
print(v)
[11, 22, 33, 44, '孙骑兵', '蒋毅']

4 reverse() 反转

v = [11,22,33,44]
print(v)
v.reverse()
print(v)
[11, 22, 33, 44]
[44, 33, 22, 11]

5 copy() 与deepcopy() 浅拷贝与深拷贝

# 浅拷贝
li1 = [11,22,33]
li2 = li1.copy()
li1.append(44)
print(li1,li2)

# # 深拷贝
import copy
li1 = [11,22,33]
li2 = copy.deepcopy(li1)
li1.append(44)
print(li1,li2)
[11, 22, 33, 44] [11, 22, 33]
[11, 22, 33, 44] [11, 22, 33]

当列表只有1层时,浅拷贝与深拷贝没有区别,由于浅拷贝共享内存单元,当添加内容时也会改变已经拷贝的列表,但是当列表里面嵌套列表时,深拷贝虽然也是共享内存单元,但是嵌套列表也另外拷贝了一份,而浅拷贝不会拷贝嵌套的列表,所以在嵌套列表中添加元素时,不会互相影响

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考链接
https://www.cnblogs.com/wupeiqi/articles/5453708.html

#浅拷贝
li1 = [11,[22,33,44],99]
li2 = li1.copy()
li1[1].append(100)
print(li1,li2)

#深拷贝
import copy
li1 = [11,[22,33,44],99]
li2 = copy.deepcopy(li1)
li1[1].append(100)
print(li1,li2)
[11, [22, 33, 44, 100], 99] [11, [22, 33, 44, 100], 99]
[11, [22, 33, 44, 100], 99] [11, [22, 33, 44], 99]

6 count() 统计列表中指定元素的数量

li = [11,23,11,22,33,11]
print(li.count(11))
3

7 extend() 批量添加列表中的元素

li=[11,23]
li.extend([55,66,77])
print(li)

#等效下面写法
# li.append(55)
# li.append(66)
# li.append(77)
# print(li)

#extend接收可迭代对象,当然可以是字符串和tuple
#li.extend("abc")
[11, 23, 55, 66, 77]

8 index() 给指定的值,寻找其索引,可以指定开始和结束位置

li = [11,23,44,33,44,55,66]
print(li.index(11))
#  li.index(23,0,4)
0

9 pop() 与 remove() 一个是根据索引,一个是根据值去删除列表中的元素(调用1次,删除1个元素)

li = [11,23,44,33,44,55,66]
#删除,并且获取到赋值变量
v = li.pop(3)                         #注意pop()有两个功能,可以获得删除的元素,也可以直接删除
print(v)
print(li)
li.remove(44)
li.remove(44)
print(li)
33
[11, 23, 44, 44, 55, 66]
[11, 23, 55, 66]

del 也可以删除列表中的值

v = ['张勤学','成大经','成绩','刘龙华']
del v[3]
print(v)

v = ['张勤学','成大经','成绩','刘龙华']
del v[2:4]
print(v)

['张勤学', '成大经', '成绩']
['张勤学', '成大经']

10 sort() 列表元素排序

li = [11,23,44,33,44,55,66]
li.sort(reverse=True)                 #还可以接收高阶函数
print(li)
li.sort(reverse=False)
print(li)
[66, 55, 44, 44, 33, 23, 11]
[11, 23, 33, 44, 44, 55, 66]

list类中公共方法(str,list,tuple,dict都有下面方法)
(1) 取长度len()
(2) 根据索引(取值,改值,删值)
注意在替换时,需要注意讲列表中元素替换为字符串时

v = ['张勤学','成大经','成绩','刘龙华']
v[3] = "吴国胜"
print(v)
v = ['张勤学','成大经','成绩','刘龙华']
v[2:4] = ["吴国成","狗生",'狗蛋']
print(v)
v = ['张勤学','成大经','成绩','刘龙华']
v[2:4] = "吴国成"               #字符串会被分割
print(v)
v = ['张勤学','成大经','成绩','刘龙华']
v[2:4] = ["吴国成", ]           #字符串整体替换为列表中一个元素
print(v)
['张勤学', '成大经', '成绩', '吴国胜']
['张勤学', '成大经', '吴国成', '狗生', '狗蛋']
['张勤学', '成大经', '吴', '国', '成']
['张勤学', '成大经', '吴国成']

(3) for循环列表中的值

tuple方法汇总

1 index
2 count
用法与其上相同
tuple公共方法汇总
(1)长度
(2)索引(只能根据索引取值,不能修改值)
(3)for循环
3 当tuple中只有一个元素时,记得加逗号

tup=(1,)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值