欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习笔记:List类型所有方法汇总

程序员文章站 2022-03-20 15:45:34
###############################红色标红的部分为常用方法###############################import copynames = ["tangwei", "chenyadan", "chenmeifang"]################## ......

###############################
红色标红的部分为常用方法
###############################


import copy

names = ["tangwei", "chenyadan", "chenmeifang"]

##################################################### 增加 ############################################################################

names.append("tangminghua") # 在末尾插入一个
print(names)
names.insert(0, "tangyuxi") # 在指定位置插入一个
print(names)

names1 = [1, 2, 3, 4, 5, 6]
names2 = [7, 8, 9]
names1.extend(names2) # 合并扩展别的可迭代对象(list 元组 字典等)
names2 = names1.copy() # 这是一个浅复制方法,所谓浅复制就是如果复制对象中有第二层可迭代对象,则第二层复制的是引用,所以改变复制对象第二层对象的值,那么被复制对象的值也会改变。
print("copy names to names2", names2)
names2[0] = "11111" # 修改names2的值names1不会改变,说明是独立内存空间,不是引用
print(names1)
print(names2)
names1 = [1, ["a", "b"], 3, 4, 5, 6]
names2 = names1.copy()

print(names1)
print(names2)
names2[1][0] = "hhh"
print(names1) # 修改names2的值names1也会改变,说明是引用,第二层的list只是copy的引用,不是完全copy
print(names2)

names1[1][0] = "ttt"
print(names1)
print(names2)

names2 = copy.deepcopy(names1) # 深复制,完全独立的内存空间,不再是复制对象引用
names1[1][0] = "11"
print(names1)
print(names2)

#################################################### 删除 ###################################################


names.remove("tangyuxi") # 删除方法1
print(names)
del names[1] # 删除方法2
print(names)
names.pop(1) # 删除方法3,这个方法是随机删除一个,平时不要随便用此方法
print(names)
# names.clear() # 清空所有


#################################################### 修改 ######################################################

names[1] = "ni hao "
# names.reverse() # 反转

#################################################### 查询 ######################################################

print(names[0]) #查询一个值

print(names[0:2]) # 从第0到1,顾头不顾尾(也就是说2要减去1为真正要查询的索引数)

print(names[-1]) # 最后一个
print(names.index("ni hao "))  # 查索引,如果元素不存在会报错
print(names.count("ni hao "))  # 统计某元素数量

# 循环查询
for i in names:
print("循环查询", i)

print(names)
print(names[1:10:2]) # 从1开始,到(10-1)个,每隔2个打印一个
print(names[0:-1:]) # 从0到倒数第二个,每隔1个打印一个