python序列结构之列表

本文详细介绍了Python列表的性质、创建与删除、元素访问、常用方法,如添加、删除元素,以及切片操作。同时,列举了列表支持的运算符和内置函数的应用,包括最大值、最小值、元素计数等。此外,还探讨了列表与其他序列结构如元组、字符串的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python序列结构之列表

1.列表的性质

  1. 列表是有序可变的序列结构
  2. 列表中所有的元素都在“[ ]”里
  3. 每个元素之间用“,”隔开
  4. 列表里的元素可以包含列表,元组,字典,集合,整数,实数,字符串以及其他任意对象。

2.列表创建与删除

  1. 创建&转换
#使用“=”将列表常量赋值给变量
list1=[1,'Happy',[4,5,6],(8,7)]
#使用list()将range对象转换为列表(从1到10,步长为2)
list2=list(range(1,10,2))
#使用list()将元组转换为列表
list3=list((3,6,9))
#使用list()将字符串转换为列表(其中每个字母都单独作为元素)
list4=list("Hello World")
#使用list()将字典的“键”转换为列表
list5=list({"a":1,"b":2,"c":3})
#使用list()将字典的元素转换为列表
list6=list({"a":1,"b":2,"c":3}.items())
#使用list()将集合转换为列表
list7=list({3,7,5})
#创建空列表
list8=list()
  1. 删除
#删除"list1"列表(列表对象删除后无法在访问)
del(list1)

3.列表元素访问

通过列表元素的下标访问

#列表的起始元素下标为0
>>>list1=[1,'Happy',[4,5,6],(8,7)]
>>>list1[2]
>>>[4, 5, 6]

4.列表的常用方法

  1. 添加元素
list1=[1,'Happy',[4,5,6],(8,7)]
#append('X')将X元素追加到列表尾部
list1.append('x')
list1
[1, 'Happy', [4, 5, 6], (8, 7), 'x']
#extend(list2)将list2列表全部元素追加到列表尾部
list2=list(range(1,10,2))
list1.extend(list2)
list1
[1, 'Happy', [4, 5, 6], (8, 7), 4, 'x', 1, 3, 5, 7, 9]
#insert(index,x)将x元素插入到index位置
list1.insert(3,9)
list1
[1, 'Happy', [4, 5, 6], 9, (8, 7), 4, 'x', 1, 3, 5, 7, 9]
  1. 删除元素
list1=[1,'Happy',[4,5,6],(8,7)]
#pop(index)删除index位置的元素,并返回删除的元素
list1.pop(2)
[4, 5, 6]
list1
[1, 'Happy', (8, 7)]
#remove()删除列表中第一个指定元素,如果没有则显示异常
list1.remove((8,7))
list1
[1, 'Happy']
#del指令删除指定下标元素
del list1[1]
list1
[1]
  1. 查看元素
list1=[1,'Happy',[4,5,6],(8,7)]
#count()返回元素在列表出现的次数
list1.count(1)
1
#index()返回元素首次出现在列表的下标,如果没有则显示异常
list1.index((8,7))
3
  1. 排列元素
list1=list(range(1,10))
from random import shuffle #从random模块中导入shuffle对象
shuffle(list1)             #用shuffle打乱顺序
list1
[1, 4, 7, 6, 8, 9, 3, 5, 2]
#sort(key=None,reverse=Flase)按照指定规则对列表进行排列,默认为正序,即从小到大
list1.sort()
list1
[1, 2, 3, 4, 5, 6, 7, 8, 9]
#reverse()将元素翻转或逆序
list1.reverse()
list1
[9, 8, 7, 6, 5, 4, 3, 2, 1]

5.列表对象支持的运算符

  1. 算术运算符
list1=[1,2,3,4]
#加法运算符可以将两个列表连接得到一个新的列表
list1=list1+[5, 6]
list1
[1, 2, 3, 4, 5, 6]
#乘法运算符可以将列表和整数相乘,即重复列表,得到新的列表
list1=list1*2
list1
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
  1. 成员测试运算符
list1=[1,2,3,4]
#in运算符用于测试列表中是否包含某个元素
3 in list1
True
  1. 关系运算符
#关系运算符用来比较两个列表的大小(逐个比较对应位置的元素,直到某个元素能够比较出大小为止)
#>
[1,2,3]>[1,2,1,4]
True
#==
[1,2,3]==[1,2,1,4]
False

6.内置函数对列表的操作

list1=list(range(1,10))#生成一个1到9的整数列表,步长为1
list1
[1, 2, 3, 4, 5, 6, 7, 8, 9]
#max()返回列表中最大的值
max(list1)
9
#min()返回列表中最小的值
min(list1)
1
#sum()返回列表中所有元素的和
sum(list1)
45
#len()返回列表中的元素个数
len(list1)
9
#all()测试是否所有元素都等价于True,不为零就是True
all(list1)
True
#any()测试是否纯在等价于True的元素
any(list1)
True

7.切片

除了列表以外切片还适用于元组,字符串,range对象

切片不会对列表进行改变,而是返回一个新的列表

👇在形式上,切片使用2个冒号分隔的3个数字来完成

[start : end : step]

list1=list(range(1,10))#生成一个1到9的整数列表,步长为1
list1
[1, 2, 3, 4, 5, 6, 7, 8, 9]
list1[1:8:2]
[2, 4, 6, 8]

start表示切片开始的位置,默认为0

end表示切片结束的位置,默认为列表长度

step表示切片时的步长,默认为1

👇当step为负整数时,表示反向切片,此时start应该在end右边

[ end : start: step]

list1[7:0:-2]
[8, 6, 4, 2]

如有建议或者发现错误请指正,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值