首页 > 技术文章 > Python3基本数据类型之list

zhangyanlong 2019-08-09 11:35 原文

list

即列表,它是一种可变有序的集合,可以随时添加或删除其中的元素,序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

作用:多个装备,多个爱好,多门课程等

定义:[]内可以有多个任意类型的值,逗号分隔。

特点:

元素量可以是变动的。

可以切片,可以索引。

元素可以重复,输出列表时不会去重。

可以用+进行串联。

访问列表中的元素

 1 L=[1,2,3,4,5,6,7,8,9]
 2 print(L[0:4])
 3 print(L[0:4:2])#正向步长为2
 4 print(L[3::-1])#反向步长
 5 print(L[::-1])#列表反转
 6 L=[1,2,3,4,5,6,7,8,9]
 7 L[1]="A"
 8 print(L)
 9 
10 
11 LL=[1,2,3,["a","b",[1,"A"],"c"],4]#嵌套列表
12 print(LL[3][2][1])

结果

1 [1, 2, 3, 4]
2 [1, 3]
3 [4, 3, 2, 1]
4 [9, 8, 7, 6, 5, 4, 3, 2, 1]
5 [1, 'A', 3, 4, 5, 6, 7, 8, 9]
6 A

 根据索引直接修改列表

1 L=[1,2,3,4,5,6,7,8,9]
2 L[1]="A"
3 print(L)

结果

1 [1, 'A', 3, 4, 5, 6, 7, 8, 9]

 创建列表

L=list(range(10))#创建数字列表
print(L)

结果

1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 删除元素

用del语句根据索引直接删除

1 L1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
2 del L1[-1]
3 print(L1)
4 L2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
5 del L2[-3:-1]#范围[-3,-1)
6 print(L2)

 结果

1 [1, 2, 3, 4, 5, 6, 7, 8]
2 [1, 2, 3, 4, 5, 6, 9]

 for循环

1 L1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
2 for item in L1:
3     print(item)

 结果

1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9

 列表操作符


 列表要掌握的操作:

1.索引存取值,(正向+反向)

2.切片,(顾头不顾尾,步长)

3.长度,len()

4.成员运算in和not in

5.追加,append()

6.删除,pop() ,del,remove()

7.循环,for item in list


 append()#浅拷贝

语法:l.append(obj)

参数:obj-----添加到列表末尾的对象,不能为空白符,只能是单个数据

描述:无描述,会直接修改原来的列表

1 L=[1,"a","A"]    
2 n1=L.append(2)   
3 print(n1)        
4 print(L)         

结果

1 None
2 [1, 'a', 'A', 2]

extend()

语法:l.extend(seq)

参数:seq-----要追加的元素列表,可以是多个元素,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾

描述:无描述。会直接在原列表中追加新元素。

复制代码
1 L1=[1,2,3,4]
2 L2=["A","B","C","D"]
3 n1=L1.extend(["A","B","C","D"])
4 print(L1)
5 n2=L1.extend(L2)
6 print(L1)
7 print(n1)
复制代码

 结果

1 [1, 2, 3, 4, 'A', 'B', 'C', 'D']
2 [1, 2, 3, 4, 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D']
3 None

 pop()

语法:l.pop(x)

参数:x-----可选参数,要移除元素的索引值,默认为-1

描述:描述是删除的元素

复制代码
1 L=[1,2,3,4,5]
2 n=L.pop()
3 print(n)
4 print(L)
5 L.pop(-2)
6 print(L)
复制代码

 结果

1 5
2 [1, 2, 3, 4]
3 [1, 2, 4]

 remove()

语法:l.remove(obj)

参数:obj-----列表中要移除的对象‘

描述:没有描述,会移除列表中的第一个匹配项

1 L=[2,1,1,1,2,2,2]
2 n=L.remove(2)#参数不能不写
3 print(n)
4 print(L)

 结果

1 None
2 [1, 1, 1, 2, 2, 2]

 insert()

语法:l.insert(index,obj)

参数:index-----对象要插入的索引位置

obj-----要插入的对象

描述:没有描述,直接在原列表指定索引位置插入对象

1 L=[1,2,3,4,5]
2 L.insert(-2,"A")#索引不能为None,第二个参数不能不写,不能为空字符
3 print(L)

 结果

1 [1, 2, 3, 'A', 4, 5]

推荐阅读