Python list
e.g.
需要注意的是切片时“顾首不顾尾”的特点
#!/usr/local/bin/python3.5 names = ["Name1", "name2", "name3", "Name4", "name5", "name6"] print(names) print(names[0], names[1]) print(names[0:3]) #切片,可以看到这句话是输出是一个list 带 [ ] #!!切片 包括起始位置 不包括结束位置,输出0 1 2,结果:['Name1', 'name2', 'name3'] print(names[-1]) #最后一个 print(names[-2:-1]) #注意 从起始位置到结束位置 print(names[-3:]) #从-3到最后
names.append("name7")
print(names)
names.insert(2,"name2.5")
print(names)
names[2] = "name2.6"
print(names)
方法总结:
names.remove() #删除指定元素
names.append(“name7”) #追加
names.insert(2,"name2.5")#在指定位置添加元素
name.index("name5")#返回指定元素的位置
names.count("name5")#计数指定元素的个数
names.sort()#排序 ASCII顺序
names.reserse()#翻转元素
names.extend(names2)#合并两个list
list 浅拷贝问题:
拷贝二维list时,第二维的list地址直接被拷贝到新的list中!修改原始数据中二维的list,拷贝份被更新。解决办法:import copy 语句:copy.deepcopy(names)
e.g.
#!/usr/local/bin/python3.5
import copy
names = ["Name1", "name2", ["name2.1", "name2.2"],"name3", "Name4", "name5", "name6"] names2 = names.copy() names3 = copy.deepcopy(names) print(names2) names[1] = "!!!" names[2][0] = "###" print(names) print(names2) print(names3)
运行结果:
['Name1', 'name2', ['name2.1', 'name2.2'], 'name3', 'Name4', 'name5', 'name6']
['Name1', '!!!', ['###', 'name2.2'], 'name3', 'Name4', 'name5', 'name6']
['Name1', 'name2', ['###', 'name2.2'], 'name3', 'Name4', 'name5', 'name6']
['Name1', 'name2', ['name2.1', 'name2.2'], 'name3', 'Name4', 'name5', 'name6']
list 带步长的切片
print(0:-1:2)#从第一个到最后一个,步长是2

浙公网安备 33010602011771号