###############################
红色标红的部分为常用方法
###############################
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个打印一个