Python 04-列表、元组

列表数组

表名 = ["name1","name2"]app

print(names[1:3])#切片spa

起始位置包括,结束位置不包括。会取1和2,不取3
names = ["name1","name2","name3","name4"]
print(names)
print(names[1],names[2])
print(names[1:3])#切片
print(names[-1])#取最后一个
print(names[-2:])#取最后两个
print(names[0:3])#取前两个

names.append("name5")#向数组里面插入
names.insert(1,"name6")#向数组1号位置插入
names.insert(3,"name7")#向数组3号位置插入

names[2]="name8"#2号元素改成name8

names.remove("name7")#删除元素name7
del names[2]#删除2号元素
names.pop()#默认删除最后一个,输入下标就删除第几号元素

print(names.index("name1"))#找name1在哪里
print(names[names.index("name1")])#把name1找到打印出来

names.append("name5")
names.append("name5")
print(names.count("name5"))#统计有多少个name5

names.reverse()#列表反转

names.sort()#按照首字母顺序排序

names2 = [1,2,3,4]
names.extend(names2)#把另外一个列表并过来

names.clear()#列表清空


print(names)

 

浅copy指针

第二个列表只是第一个列表的引用。能够用来建立联合帐号,如家庭存款。code

浅copy的三种方式blog

person=['name1',['name2','name3']]排序

1.p1=copy.copy(person)rem

2.p2=person[:]class

3.p3=list(person)import

names = ["name1","name2","name3",["tom","jack"],"name4","name5"]

name2 = names.copy()#只copy第一层列表,第二层存的是指针,打印时候会从指针找原地址
print(names)
print(name2)
names[0]="名字1"
names[3][0]="alex"#name2里面也改了
print(names)
print(name2)

深copy

import copy
names = ["name1","name2","name3",["tom","jack"],"name4","name5"]

name2 = copy.deepcopy(names)#深copy,彻底copy,第二层列表不跟着变化
print(names)
print(name2)
names[0]="名字1"
names[3][0]="alex"
print(names)
print(name2)

 

names = ["name1","name2","name3",["tom","jack"],"name4","name5"]
print(names[0:-1:2])#start,stop,step

 

元组tuple

只读列表。一旦建立不能修改。用( )表示。只有两个方法,count和index。

什么状况下用元组?

不能改变值的状况下。

相关文章
相关标签/搜索