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)

运行结果如下:
list()函数创建列表

二、列表元素的访问

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=' ')

运行结果如下:
in操作符遍历列表

2.使用range()函数

l1 = ['I','love','python']
length = len(l1)#求列表l1的长度
for i in range(length):
    print(l1[i],end=' ')

运行结果如下:
range()函数遍历列表

3.使用iter()函数

l1 = ['I','love','python']
for i in iter(l1):
    print(i,end=' ')

运行结果如下:
iter()函数遍历列表

4.使用enumerate()函数

遍历列表元素及其下标。

l1 = ['I','love','python']
for i in enumerate(l1):
    print(i,end=' ')

运行结果如下:
enumerate()函数遍历列表

四、列表的排序

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)

运行结果如下:
sort()方法排序

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)#降序排列的列表

运行结果如下:
sorted()方法排序

3.reverse()方法

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

l1 = [5,6,2,8,1,3,4,9,7]
l1.reverse()
print(l1)#原列表被覆盖

运行结果如下:
reverse()方法排序

五、列表的其他操作

1.元素的添加

(1) append()方法

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

语法格式:

list.append(obj)

举例:

l1 = [5,'abs','sqrt']
l1.append('function')#添加元素'function'
print(l1)

运行结果如下:
append()方法添加

(2) extend()方法

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

语法格式:

list.exend(seq)

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

举例:

l1 = [5,'abs','sqrt']
l1.extend(['function','method','approach'])
print(l1)

运行结果如下:
extend()方法添加

(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)

运行结果如下:
insert()方法添加

2.元素的删除

(1) del语句

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

l1 = ['chinese','english','physics']
del l1[1]
print(l1)

运行结果如下:
del语句删除

(2) remove()方法

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

语法格式:

list.remove(obj)

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

举例:

l1 = ['chinese','english','physics','english']
l1.remove('english')#移除首个匹配的元素
print(l1)

运行结果如下:
remove()方法删除

(3) pop()方法

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

语法格式:

list.pop([index=-1])

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

举例:

l1 = ['chinese','english','physics','english']
l1.pop(1)#移除列表索引值为1的元素
print(l1)
l1.pop()#移除最后一个元素
print(l1)

运行结果如下:
pop()方法移除

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)

运行结果如下:
列表推导式

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忙_

谢谢支持,我会更加努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值