首页 > 代码库 > 【python】-- 列表

【python】-- 列表

Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推

列表

1、定义列表,取出列表中的值

 1 names = [] #定义空列表
 2 names = [a,b,c] #定义一个非空列表
 3 
 4 # 取出列表中的值
 5 
 6 >>> names = [a,b,c]
 7 >>> names[0]
 8 a
 9 >>> names[1]
10 b
11 >>> names[2]
12 c
13 >>> names[-1]#倒着取最后一个值
14 c

2、切片

 1 >>> names = [a,b,c,d] # 列表的下标值是从0开始取值的
 2 >>> names[1:3] #取1到3之间的元素,包括1,不包括3
 3 [b, c]
 4 >>> names[1:-1] #取1到-1之间的元素,包括1,不包括-1
 5 [b, c]
 6 >>> names[0:3]
 7 [a, b, c]
 8 >>> names[:3] #从头开始取,0可以省略,效果等同于names[0:3]
 9 [a, b, c]
10 >>> names[3:]  #想取到最后一个值,必须不能写-1,只能这么写
11 [d]
12 >>> names[0::2] #后面的2表示:每隔一个元素就取一个
13 [a, c]
14 >>> names[::2] #从头开始0可以省略,效果跟上一句一样
15 [a, c]

切片小结:

①序列始终都是从左向右切片的,不能是从右向左

列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])

②如果从0位置取值,0可以省略

③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空

3、列表函数&方法

函数:

技术分享

方法:

技术分享

演示:

 1 # append 列表末尾添加新的对象
 2 >>> names = [a,b,c,d]
 3 >>> names.append(e)
 4 >>> names
 5 [a, b, c, d, e]#e是新加的元素
 6 
 7 # insert(下标值,插入的内容) 
 8 >>> names = [a,b,c,d]
 9 >>> names.insert(0,1) #0表示需要插入的下标值,‘1‘表示插入的内容
10 >>> names
11 [1, a, b, c, d] #在下标值为0的地方插入‘1‘
12 
13 #修改列表中的元素,直接是 names[下标值] = 新值
14 >>> names = [a,b,c,d]
15 >>> names[1] = 1
16 >>> names
17 [a, 1, c, d]
18 
19 
20 #扩展(extend)names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可
21 >>> names1 = [a,b,c,d]
22 >>> names2 = [1,2,3,4]
23 >>> names1.extend(names2)
24 >>> names1
25 [a, b, c, d, 1, 2, 3, 4]
26 
27 #统计(count(元素))
28 >>> names = [a,b,c,d,a]
29 >>> names.count(a) #统计‘a‘元素的个数
30 2
31 
32 #翻转(reverse())
33 >>> names = [a,b,c,d]
34 >>> names.reverse()
35 >>> names
36 [d, c, b, a]  #将整个列表翻转过来
37 
38 #排序(sort())
39 >>> names = [4,2,3,1]
40 >>> names.sort()
41 >>> names
42 [1, 2, 3, 4]
43 
44 #获取下标值(index(元素))
45 >>> names = [a,b,c,d]
46 >>> names.index(a)
47 0
48 
49 #清空列表(clear())
50 >>> names = [a,b,c,d]
51 >>> names.clear()
52 >>> names
53 []

 删除(del、remove(元素)、pop())

#根据下标值删除元素
>>> names = [a,b,c,d]
>>> del names[0] 
>>> names
[b, c, d]
#根据元素删除
>>> names = [a,b,c,d]
>>> names.remove(a)
>>> names
[b, c, d]
#删除最后一个
>>> names = [a,b,c,d]
>>> names.pop()
d
>>> names
[a, b, c]

扩展:

#如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的
>>> names = [a,b,c,d]
>>> names.pop(1) #在输入下标值得情况下和del的效果是一样的
b
>>> names
[a, c, d]

#del关键字不仅可以删除列表中的元素,也可以删除变量
names = [a,b,c,d]
#删除names这个变量
del names

 copy:

1 >>> names = [a,b,c,d]
2 >>> names2 = names.copy()
3 >>> names2
4 [a, b, c, d]

注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:点击这里

 

【python】-- 列表