python列表

常用的数据类型,列表:

基本操作:

 1 names = ["iphone","imac","airpods","iwatch"]
 2 
 3 print(names[0],names[3])
 4 print(names[1:3])   #切片,起点包括结尾不包括,即左闭右开;从左往右是0,1,2,3.。。。。。。
 5 print(names[-1])   #-1即最后一个
 6 print(names[-2])   #加了"-"号就成了从右边往左数
 7 print(names[-3:-1])   #从小的数取到大的数,但是由于顾首不顾尾,所以又出现取不到最后一个值的情况
 8 print(names[-3:])   #省略最后一个值不写,就可以取到最后一个值
 9 print(names[0:3])   #0或-1可以省略
10 print(names[0:])
11 print(names[::2])   #隔着切片

 

增:

1 names.append("Thinkpad X1")   #在列表后继续追加一个
2 print(names[4])
3 
4 names.insert(1,"iphoneX")   #直接插在任意想要的位置
5 print(names)

 

删:

1 names.remove("Thinkpad X1") #或者
2 del names[5]
3 
4 names.pop()   #pop:输入下标则任意删除,什么都不输就默认删除最后一个
5 print(names)

 

改:

1 names[0] = "iphone6"   #重新赋值就可以改
2 print(names)

 

查:

1 print(names.index("imac"))   #打印位置
2 print(names[names.index("imac")])   #打印名称

 

循环:

1 for i in names:
2     print(i)

 

其他:

1 print(names.count("imac"))   #有多少个imac
2 names.sort()   #按照ASCII码排序
3 print(names)
4 
5 #copy与等于赋值的区别(第二周08章13分10秒);第二层列表(复制的是内存地址)

 

copy的理解:

 1 # Author:yebo
 2 
 3 import copy
 4 
 5 names = ["imac",[ "iwatch", "iphone"]]
 6 
 7 names_copy = copy.copy(names)   #浅copy
 8 names_deepcopy = copy.deepcopy(names)   #深copy
 9 
10 names[1][1] = "iphoneX"   #更改第二层列表内容
11 
12 print(names_copy)
13 print(names_deepcopy)
14 print(names)
15 
16 #浅copy三种方法:
17 '''
18 c1 = copy.copy(names)
19 c2 = names[:]
20 c3 = list(copy)   #还没学,以后回会学
21 '''

深浅copy的应用之相关账户:

 1 # Author:yebo
 2 
 3 #应用浅copy特性创建联合账号
 4 
 5 person = ["name",["saving",0]]
 6 
 7 person1 = person[:]
 8 person2 = person[:]
 9 
10 person1[0] = "yebo"
11 person2[0] = "shuzzz"   #两个人持有一个共同账号
12 
13 person1[1][1] = 1000000   #其中一个账号发生变动
14 
15 print(person1)
16 print(person2)   #体现结果是两个人的存款都变动了

 列表生成式:

1 # Author:yebo
2 
3 g = (i*2 for i in range(10))   #列表生成式   注意是小括号包起来
4 print([g])
5 
6 for j in g:
7     print(j)

 

posted @ 2018-07-26 20:38  松江小旋风  阅读(181)  评论(0)    收藏  举报