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层时,浅拷贝与深拷贝没有区别,由于浅拷贝共享内存单元,当添加内容时也会改变已经拷贝的列表,但是当列表里面嵌套列表时,深拷贝虽然也是共享内存单元,但是嵌套列表也另外拷贝了一份,而浅拷贝不会拷贝嵌套的列表,所以在嵌套列表中添加元素时,不会互相影响
在这里插入图片描述

#浅拷贝
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]

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]

tuple方法汇总

1 index
2 count
用法与其上相同

猜你喜欢

转载自blog.csdn.net/u011035397/article/details/88815769