【Lemon】Python中的列表

目录

列表定义

列表的取值

列表切片

列表的常见操作方法


列表定义

列表中可以保存多个数据,可以是任意类型的,每个元素之间用逗号隔开。

列表list: 用中括号来表示

li = ['python', 66, 88.88, True, [11, 22, 33]]

扩展:

序列类型的数据:数据内部的元素是由顺序的(有下标)

序列类型的数据:字符串,列表,元组

序列类型数据的共同特性:

 

列表的取值

1. 可以通过下标取值:通过下标获取数据内的元素

示例:

# 正向取值:从前往后数下标,下标从0开始
print('python'[2]) # 输出结果:t
print(['python', 66, 88.88, True, [11, 22, 33]][1])  # 输出结果:66
print(('python', 66, 88.88, True, [11, 22, 33])[0])  # 输出结果:python

# 反向取值:从后往前数下标,下标从-1开始
print('python'[-2])  # 输出结果:o
print(['python', 66, 88.88, True, [11, 22, 33]][-1])  # 输出结果:[11, 22, 33]
print(('python', 66, 88.88, True, [11, 22, 33])[-3])  # 输出结果:88.88

列表切片

可以通过切片操作:获取数据中某一段数据

用法一: [起始位置:终止位置], 左闭右开

示例:

li = ['python', 66, 88.88, True, [11, 22, 33]]
print('[起始位置:终止位置], 左闭右开:', li[0:3])
# 输出结果:[起始位置:终止位置], 左闭右开: ['python', 66, 88.88]

# 使用反向的下标进行切片
print(li[-2:-1]) # 输出结果:[True]

# 正向和反向下标可以混用
print(li[1:-2]) # 输出结果:[66, 88.88]

用法二:[起始位置:终止位置:步长]

1. 步长为正数

示例:

li = ['python', 66, 88.88, True, [11, 22, 33]]
# 默认步长为1,默认打印整个列表
print(li[::]) # 输出结果: ['python', 66, 88.88, True, [11, 22, 33]]
# 步长为2, 2个元素中取第一个元素。所以是1 3 5
print(li[::2]) # 输出结果: ['python', 88.88, [11, 22, 33]]
# 步长为3, 3个元素中取第一个元素。所以是1 4
print(li[::3]) # 输出结果: ['python', True]
# 步长为4, 4个元素中取第一个元素。所以是1 5
print(li[::4]) # 输出结果: ['python', [11, 22, 33]]

2. 步长设置为负数

示例:

li = ['python', 66, 88.88, True, [11, 22, 33]]
# 步长为-1, 是从后往前切片
print(li[::-1]) # 输出结果:[[11, 22, 33], True, 88.88, 66, 'python']
print(li[-1:-4:-1]) # 输出结果:[[11, 22, 33], True, 88.88]

列表的常见操作方法

列表list: 用中括号[]来表示

列表可以保存多个数据,可以是任意类型的,每个元素之间用逗号隔开。

列表可以转换成布尔值,空列表(li = [])的布尔值为False,其他的布尔值都是True。

 

1. 内置函数len:获取(字符串,列表,元组,字典,集合)的长度

示例:

li = ['python', 66, 88.88, True, [11, 22, 33]]
print(len(li))  # 输出结果:5

2. 新增列表元素

append(): 在列表尾部追加元素

示例:

li = ['nancy', 'lily']
li.append('flora')
print(li)  # 输出结果:['nancy', 'lily', 'flora']

insert(需要添加元素的下标位置, 需要添加的元素):指定位置添加元素

示例:

li = ['nancy', 'lily', 'flora'] li.insert(1, 'robot') print(li) # 输出结果:['nancy', 'robot', 'lily', 'flora']

extend():一次性在列表尾部添加多个元素。注意:必须将需要添加的多个元素放在列表或者元组里面。

示例:

li = ['nancy', 'lily', 'flora'] li.extend(['jane', 'robot', 1, 2]) print(li) # 输出结果:['nancy', 'lily', 'flora', 'jane', 'robot', 1, 2]

3. 删除列表元素

remove(元素值):删除列表指定的元素

示例:

li = ['nancy', 'lily', 'flora']
li.remove('lily')
print(li)  # 输出结果:['nancy', 'flora']

pop():通过下标删除指定的元素,默认删除最后一个

示例:

li = ['nancy', 'lily', 'flora', 'robot', 'jane']
li.pop()
print(li)  # 输出结果:['nancy', 'lily', 'flora', 'robot']
li.pop(1)
print(li) # 输出结果:['nancy', 'flora', 'robot']

 

clear():清空列表(删除列表中的所有元素)

示例:

li = ['nancy', 'lily', 'flora', 'robot', 'jane']
li.clear()
print(li)  # 输出结果:[]

 

4. 查看列表元素

通过下标取值

示例:

li = ['nancy', 'lily', 'flora', 'robot', 'jane']
# 通过下标取值查找元素
print(li[1])  # 输出结果:lily

index():查找元素的下标值(找到第一个就返回,不会继续再查找;如果元素不存在会报错。)

示例:

li = ['nancy', 'lily', 'flora', 'robot', 'jane', 'flora', 'miya', 'apple']
index = li.index('flora')
print(index) # 输出结果:2

# 在指定范围内查找元素的下标值,左闭右开
index = li.index('flora', 3, 6)
print(index) # 输出结果:5

count():查找列表中某个元素的个数

示例:

li = ['nancy', 'lily', 'flora', 'robot', 'jane', 'flora', 'miya', 'apple']
print(li.count('flora'))  # 输出结果:2

5. 修改列表元素

通过下标赋值

示例:

li = ['nancy', 'lily', 'flora', 'robot', 'jane', 'flora', 'miya', 'apple']
li[1] = 11
print(li) # 输出结果:['nancy', 11, 'flora', 'robot', 'jane', 'flora', 'miya', 'apple']

6. 列表的其他方法

sort():对列表进行排序(列表中全是数值类型);如果列表中全是字符串是按照ASCII值进行排序的。

示例:

li = [11, 2, 353, 44, 88, 99, 123]
li.sort() # 默认从小到大排序, reverse默认为False
print(li) # 输出结果:[2, 11, 44, 88, 99, 123, 353]
li.sort(reverse=True) # 从大到小排序
print(li) # 输出结果:[353, 123, 99, 88, 44, 11, 2]

reverse():将列表反向,从末尾到起始排序

示例:

li = [11, 2, 353, 44, 88, 99, 123]
li.reverse() # 此操作相当于 li[::-1]
print(li) # 输出结果:[123, 99, 88, 44, 353, 2, 11]

,copy():复制

示例:

li = [1, 2, 3, 4, 5, 6, 7]
# 变量赋值,引用的是li中的数据
li2 = li
print(id(li))  # 输出结果:2144668143360
print(id(li2)) # 输出结果:2144668143360
# 在列表类li2中追加元素,同样会作用到li中
li2.append(9)
print(li)  # 输出结果:[1, 2, 3, 4, 5, 6, 7, 9]
print(li2) # 输出结果:[1, 2, 3, 4, 5, 6, 7, 9]

# 复制
li3 = li.copy()
print(id(li3))  # 输出结果:2814574980480
print(li is li3) # 输出结果:False
# 在列表类li3中追加元素,不会影响li
li3.append(80)
print(li)  # 输出结果:[1, 2, 3, 4, 5, 6, 7, 9]
print(li3) # 输出结果:[1, 2, 3, 4, 5, 6, 7, 9, 80]

l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值