吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1335|回复: 2
收起左侧

[Python 转载] python的切片这么玩,有点刁钻

[复制链接]
shyoldboy 发表于 2021-7-24 09:58
本帖最后由 shyoldboy 于 2021-7-27 07:08 编辑

切片操作对象:切片主要对列表,元组,字符串进行操作

所以我们需要了解列表,元组,字符串的数据结构,在此,

仅对列表进行描述下面是正向索引下标(从0开始)

正向索引存储结构

正向索引存储结构

反向索引下标从-length开始,其中length位数组长度

方向索引

方向索引

以下例题都依赖上面两个索引图
引入第一个问题
  • 取前3个数
[Python] 纯文本查看 复制代码
# 切片的练习
L = ['red', 'green', 'blue', 'yellow', 'while','black']
frontal = L[:3] # 正向取
# a = L[-5:-2]#反向取  不灵活,添加数据就会出问题
L.append('ceshi') # 给数组添加数据
length  = len(L)
reverse = L[-length:-length + 3]#反向取 灵活取

  • 取前3个数并反转输出(正向取,反向取)

[Python] 纯文本查看 复制代码
frontal = L[2::-1]  #正向取 从index为2的地方取,步长为-1 (即就是往前取)
# a = L[-4::-1]  # 反向取  不灵活只针对于本题,可以用本方法辅助理解
# 从-4 步长为-1 第一次读取-3 直到读取到0位
L.append('gray')
length = len(L)
reverse = L[-length + 2::-1]

  • 取后三位数
[Python] 纯文本查看 复制代码
length  = len(L) # 6
frontal = L[length - 3:] # 正向取
reverse =L[-3:] # 反向取

  • 取后3个数并反转输出(正向取,反向取)'''

[Python] 纯文本查看 复制代码
L.append('grey')
# a = L[length - 3::][::-1] # 方法随好但是引入一个列表
frontal = L[:2:-1] #正向取
reverse = L[:-length + 2:-1]  #反向取

  • 取10-20位

[Python] 纯文本查看 复制代码
sum = list(range(0,30))
i = sum[10:21] # 正向取
length  = len(sum) # 6
j = sum[-length + 10: -length + 21] # 反向取

[Python] 纯文本查看 复制代码
'''3.1、取10-20位并反转'''
i = sum[20:9:-1] # 正向取
j = sum[-length + 20:-length + 9:-1] # 反向取
print(i)
print(j)

更新
问题:去掉字符串的前后空格(使用切片)?
[Python] 纯文本查看 复制代码
def trim(str1):
    if str1 == '' or str1 == None: # 此处需细化
        return str1
    else:
        while True: # 一直循环判断前后字符串是否为空
            if str1[0] == ' ':
                str1 = str1[1:] # 如果第一位为空格就直接截取
            elif str1[-1] == ' ':
                str1 = str1[:-1] # 如果最后一位为空格就直接截取
            else:
                return str1 #不是上述情况直接返回

if __name__ == '__main__':
    str1 = "   zhang  ying  tao   " # str = ''   str = 12  str =(1,2,3)
    print(list(trim(str1))) # 加个list 方便查看是否有空格字符

更新切片去左右空格代码,还有练习切片的问题吗?评论区走一走,切片还需练习,改日更新。。。
还在学习中。。。未完待续。。。

免费评分

参与人数 1吾爱币 +1 收起 理由
klmatao + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

区长 发表于 2021-7-27 09:06
学习了。
 楼主| shyoldboy 发表于 2021-7-27 14:06
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表