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

 

posted @ 2017-12-26 21:33  NiGuard  阅读(162)  评论(0)    收藏  举报