Python 列表切片操作

Python列表切片

  • 切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等。可以用切片截取列表中任何部分来获得一个新的列表,也可以进行元素的增、删、改。
  • 在Python中,序列的序号即可以从左向右以0开始依次增加,也可以从右向左以 -1
    开始依次减少,因此通过的序号访问序列中的元素,同一个元素可以有两个序号。

在这里插入图片描述

1、列表元素的访问和修改

alist = [1, 3, 4, 5, 2]
print(alist[0])  # 输出左边第0个位置的元素:1

print(alist[3])  # 输出左边第3个位置的元素
print((alist[-1]))  # 输出最右边的元素
print(alist[2], alist[-2])

alist[0] = 99  # 修改列表元素的值
print(alist[0])
print(alist)

print(len(alist))
1
5
2
4 5
99
[99, 3, 4, 5, 2]
5

len()是Python的内置函数,用于获得序列中元素的个数。

2、列表切片(重点)

切片是为了获得序列某个区间的元素序列。切片操作通过使用两个冒号分隔3个数字来实现,

  • 第一个数字表示切片的开始位置,默认为0;
  • 第二个数字表示切片的终止位置(但不包含该位置的元素),默认为列表的长度;
  • 第三个数字为切片的步长,默认为1,当省略步长时,可以同时省略后一个冒号。
lie = [3, 4, 6, 7, 2, 10, 16]
print(lie[:])  # 取全部元素
print(lie[0:])  # 取全部元素

print(lie[:-1])  # 取 除最后一个元素外的所有元素

print(lie[2:5])  # 取序号为2、3、4的元素,不包含最后一个序号的元素

print(lie[::2])  # 从0开始隔一个取一个元素

print(lie[1:5:2])  # 从1开始,每隔一个取一个元素,直到5为止

print(lie[::-1])  # 从右向左取全部成员

print(lie[5:0:-2])  # 从右向左隔一个取一个元素,不包含0
[3, 4, 6, 7, 2, 10, 16]
[3, 4, 6, 7, 2, 10, 16]
[3, 4, 6, 7, 2, 10]
[6, 7, 2]
[3, 6, 2, 16]
[4, 7]
[16, 10, 2, 7, 6, 4, 3]
[10, 7, 4]
  • lie[:-1]等价于 alist [0: -1:1],-1表示最后一个位置

3、切片应用

切片可用于获得子列表,或者修改、删除列表元素。

alist = [3, 4, 6, 7, 2, 10, 16, -8]
alist_x = alist[1:6:2]
print(alist_x)
# 输出结果:[4, 7, 10]

alist[1:6:2] = [28, 38, 48]  # 修改元素值
print(alist)
# 输出结果:[3, 28, 6, 38, 2, 48, 16, -8]
  • 修改元素值时要求 “ = ” 左右两侧的元素个数相同
del alist[3:5]  # 删除元素,删除第3、4元素,不包括第5元素
print(alist)
# 输出结果:[3, 28, 6, 48, 16, -8]
  • 字符串也可以按切片来进行操作,获取部分字符。
str = 'Python'
print(str[0])
# 输出结果:P
print(str[-1])
# 输出结果:n
print(str[1:5:2])
# 输出结果:yn
str[0] = 'y'
print(str)
# 输出结果报错

这里抛出异常,因为字符串是不可变序列,即不能修改其值,这里要修改就会出现错误。

  • 44
    点赞
  • 209
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Python列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们可以根据需要指定切片的开始位置、结束位置和步长来剪切列表。通过使用切片操作,我们可以轻松地获取列表中的特定元素子集。 举个例子,如果我们有一个列表`ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]`,我们可以使用切片操作来提取其中的一部分元素。例如,如果我们想提取列表中的前三个元素,我们可以使用切片`ll[:3]`,这将返回一个新的列表`[5, 17, 13]`。同样地,我们也可以使用切片操作来获取列表中的后几个元素,比如`ll[5:]`将返回列表中从索引5开始到末尾的所有元素。 除了提取元素,我们还可以通过切片操作来删除和插入多个元素。例如,我们可以使用切片操作`ll[5:] = []`将列表中的后几个元素删除,或者使用切片操作`ll[:0] = ['a', 'b']`将元素`'a'`和`'b'`插入到列表的开头。 总结起来,Python列表切片是一种灵活的操作,可以方便地对列表进行切割、删除和插入操作,使得我们可以更加高效地处理列表数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python 列表切片详解](https://blog.csdn.net/hlx20080808/article/details/127610664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值