Python中列表(list)的详细使用

文章目录前言一、列表的创建1.使用中括号[]2.使用list()函数二、列表元素的访问1.使用索引2.使用切片三、列表的遍历1.使用in操作符2.使用range()函数3.使用iter()函数4.使用enumerate()函数四、列表的排序1.sort()方法2.sorted()方法3.reverse()方法五、列表的其他操作1.元素的添加(1) append()方法(2) extend()方法(3) insert()方法2.元素的删除(1) del语句(2) remove()方法(3) pop()方法3.元素的修改4.计元素数5.元素索引的查找6.列表的清空7.列表的复制8.列表脚本操作符9.列表推导式

前言

列表是Python中常见的数据结构,处处都有它的身影。列表中的数据项可以是不同的数据类型,如整型、字符、字典、列表等。这也是它的特点。我们可以对列表进行添加、删除、修改、排序等操作。

一、列表的创建

1.使用中括号[]

每个元素使用逗号间隔,可嵌套创建。

l1 = []#创建空列表l1

print(type(l1))

print(l1)

l2 = [1,'dormitory',[{12,456},'忙']]#不同元素类型组成的列表

print(l2)

运行结果如下:

2.使用list()函数

l1 = list('I love Python')#字符串为可迭代类型

print(l1)

l2 = list([1,'dormitory',[{12,456},'忙']])#列表为可迭代类型

print(l2)

运行结果如下:

二、列表元素的访问

1.使用索引

l1 = [1,'dormitory',[{12,456},'忙']]

print(l1[2])#访问索引为2的元素,正数下标从0开始

print(l1[-2])#访问索引为-2的元素,负数下标从-1开始

print(l1[2][1])#访问二维列表中的元素

运行结果如下:

2.使用切片

l1 = ['I','l','o','v','e','p','y','t','h','o','n']

print(l1[3:])#访问索引为3到末尾的元素

print(l1[2:6:2])#访问2~5,步长为2的元素,左闭右开

运行结果如下:

三、列表的遍历

1.使用in操作符

l1 = ['I','love','python']

for i in l1:

print(i,end=' ')

运行结果如下:

2.使用range()函数

l1 = ['I','love','python']

length = len(l1)#求列表l1的长度

for i in range(length):

print(l1[i],end=' ')

运行结果如下:

3.使用iter()函数

l1 = ['I','love','python']

for i in iter(l1):

print(i,end=' ')

运行结果如下:

4.使用enumerate()函数

遍历列表元素及其下标。

l1 = ['I','love','python']

for i in enumerate(l1):

print(i,end=' ')

运行结果如下:

四、列表的排序

1.sort()方法

语法格式:

sort(key=none,reverse=False)

key表示排列规则。reverse表示排序方式,默认值为False。False表示升序,True表示降序。使用该方法之后,原列表会被排序后的列表覆盖。

举例:

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

l1.sort()#默认升序排序

print(l1)

l1.sort(reverse=True)#降序排序

print(l1)

运行结果如下:

2.sorted()方法

将列表元素按要求排列,不覆盖原列表。

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

l2 = sorted(l1)

l3 = sorted(l1, reverse=True)

print(l1)#原列表未被覆盖

print(l2)#升序排列的列表

print(l3)#降序排列的列表

运行结果如下:

3.reverse()方法

将列表元素降序排列,覆盖原列表。

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

l1.reverse()

print(l1)#原列表被覆盖

运行结果如下:

五、列表的其他操作

1.元素的添加

(1) append()方法

用于在列表末尾添加新的元素。

语法格式:

list.append(obj)

举例:

l1 = [5,'abs','sqrt']

l1.append('function')#添加元素'function'

print(l1)

运行结果如下:

(2) extend()方法

用于在列表末尾一次性添加另一个列表中的所有元素。

语法格式:

list.exend(seq)

seq表示列表,可以是字典、元组、集合、字典,若为字典,则仅会将键作为元素依次添加到原列表的末尾

举例:

l1 = [5,'abs','sqrt']

l1.extend(['function','method','approach'])

print(l1)

运行结果如下:

(3) insert()方法

用于将元素插入列表的指定位置。

语法格式:

list.insert(index,obj)

index表示对象obj需要插入的索引位置,obj表示要插入列表的对象。

若指定的位置不存在,则插入到列表末尾。

举例:

l1 = ['chinese','english','physics']

l1.insert(1,'math')#在索引为1的位置插入

print(l1)

l1.insert(6,'chemistry')#该索引不存在,即越界,在末尾插入

print(l1)

运行结果如下:

2.元素的删除

(1) del语句

删除列表中指定位置的元素。

l1 = ['chinese','english','physics']

del l1[1]

print(l1)

运行结果如下:

(2) remove()方法

用于移除列表中的某个元素。

语法格式:

list.remove(obj)

obj表示要移除的对象,若列表中有多个匹配的元素,只会移除匹配到的第一个元素。

举例:

l1 = ['chinese','english','physics','english']

l1.remove('english')#移除首个匹配的元素

print(l1)

运行结果如下:

(3) pop()方法

用于移除列表中的某个元素。

语法格式:

list.pop([index=-1])

index是可选参数,为要移除列表元素的索引值,默认index=-1,删除最后一个列表值。

举例:

l1 = ['chinese','english','physics','english']

l1.pop(1)#移除列表索引值为1的元素

print(l1)

l1.pop()#移除最后一个元素

print(l1)

运行结果如下:

3.元素的修改

通过索引获取元素并对其重新赋值。

l1 = ['chinese','english','physics','english']

l1[1]='math'

print(l1)

运行结果如下:

4.计元素数

l1 = ['chinese','english','physics','english']

print("english的个数为:",l1.count('english'))

运行结果如下:

5.元素索引的查找

查找元素出现的第一个索引。

l1 = ['chinese','english','physics','english']

print("english的索引为:",l1.index('english'))

运行结果如下:

6.列表的清空

l1 = ['chinese','english','physics','english']

l1.clear()

print(l1)

运行结果如下:

7.列表的复制

l1 = ['chinese','english','physics']

l2 = l1.copy()#不等同于=,l1和l2的地址不一样,内容一样

print(id(l1),id(l2))

print(l1,l2,end='\n\n')

a = [1,2]

b = a#用=赋值

c = []

c = a#创建列表c,再用=赋值

d = a[:]#将a切片访问赋值给d

print(a,b,c,d)#输出a,b,c,d,都一样

print(id(a),id(b),id(c),id(d))#输出a,b,c,d的地址,a,b,c指向一个地址,d分配了新地址

b[1]='b'

print(a,b,c,d)#更改列表b索引为1的元素,指向同一地址的a,b,c一起更改

运行结果如下:

8.列表脚本操作符

print(['apple','banana']+['strawberry','cherry'])#列表连接

print(['apple','banana']*3)#列表重复

print('cherry' in ['apple','banana'])#判断是否在列表中

print('cherry' not in ['apple','banana'])#判断是否在列表外

print(len(['apple','banana',1]))#列表长度

运行结果如下:

9.列表推导式

列表推导式又叫列表解析式,可以更加简便地创建列表。

语法格式:

variable = [expr for value in collection]

variable = [expr for value in collection if condition]

变量 表达式 收集器 条件

举例:

l1 = [i*3 for i in range(15) if i%2==0]#对0到14之间的偶数乘3操作

print(l1)

l2 = [[col for col in range(5)] for row in range(6)]#创建6行5列的嵌套列表

print(l2)

l2[1].append(5)#在二维列表的索引为1的行加入一个元素5

print(l2)

l3 = [x+y for x in 'abc' for y in 'ABC']#创建双层循环列表

print(l3)

运行结果如下:


如何联系网易人工客服(网易人工客服如何拨通?)
独立声卡设置教程(从选购到设置,打造个性化的音效系统)