前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Python]切片Slice的运用

[Python]切片Slice的运用

作者头像
祥知道
发布2020-03-10 17:01:23
1.6K0
发布2020-03-10 17:01:23
举报
文章被收录于专栏:祥的专栏祥的专栏

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:https://cloud.tencent.com/developer/article/1596477


文章目录

代码语言:txt
复制
- @[toc]环境切片操作1.1. 简介1.2. 举例说明eg.1. 取第1元素eg.2. 取最后1个元素eg.3. 复制整个列表eg.4. 取前10个元素eg.5. 取前10个元素eg.6. 取从第11个元素到第20个元素eg.7.1.  每隔10个取一个数,从开始eg.7.2.  每隔10个取一个数,从第50个元素(51)开始eg.7.3. 每隔10个取一个数,从第50个元素(51)开始,到第89个元素(90)eg.8. 取后10个元素1.3. 简单运用参考文献

Python切片Slice的运用

0. 环境

  • Python 3.6

1. 切片操作

1.1. 简介

取指定索引范围的操作,用循环十分繁琐,因此Python提供了切片(Slice)操作符,能大大简化这种操作。

一个完整的切片表达式包含两个:,用于分隔三个参数(start_index、end_index、step),当只有一个:时,默认第三个参数step=1

代码语言:javascript
复制
# 切片操作基本表达式
object[start_index : end_index : step]

1.2. 举例说明

先设置一个列表从1到100,含有100个元素

代码语言:javascript
复制
# 创建列表 L= [1, 2, ..., 99, 100]
L = list(range(1, 101))

eg.1. 取第1元素

代码语言:javascript
复制
>> L[0]
1

eg.2. 取最后1个元素

代码语言:javascript
复制
>> L[-1]
100

eg.3. 复制整个列表

代码语言:javascript
复制
>> L[:]
[1, 2, ..., 99, 100]

eg.4. 取前10个元素

代码语言:javascript
复制
>> L[:10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

eg.5. 取前10个元素

代码语言:javascript
复制
>> L[:10]  # 或者 L[0:10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

eg.6. 取从第11个元素到第20个元素

代码语言:javascript
复制
>> L[10:20]
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

注意:

  • L[10]11
  • L[20]21

eg.7.1. 每隔10个取一个数,从开始

代码语言:javascript
复制
>> L[::10]  # 或者 L[0::10]
[1, 11, 21, 31, 41, 51, 61, 71, 81, 91]

eg.7.2. 每隔10个取一个数,从第50个元素(51)开始

代码语言:javascript
复制
>> L[50::10]
[51, 61, 71, 81, 91]

eg.7.3. 每隔10个取一个数,从第50个元素(51)开始,到第89个元素(90)

代码语言:javascript
复制
>> L[50:90:10]
[51, 61, 71, 81]

eg.8. 取后10个元素

代码语言:javascript
复制
>> L[-10:]
[91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

注意:

  • L[-10:-1]会刨除最后1个元素;
  • L[-10,0]会得到[]

1.3. 简单运用

用切片写一个 去掉字符串头尾空格的程序trim()

代码语言:javascript
复制
def trim(s):
    n = len(s)
    if n == 0: return s

    while s[0] == ' ':
        s = s[1:]
        n = n - 1
        if n == 0: return s

    while s[-1] == ' ':
        s = s[:-1]
        n = n - 1
        if n == 0: return s

    return s

测试代码

代码语言:javascript
复制
if trim('hello  ') != 'hello':
    print('1. 测试失败!')
elif trim('  hello') != 'hello':
    print('2. 测试失败!')
elif trim('  hello  ') != 'hello':
    print('3. 测试失败!')
elif trim('  hello  world  ') != 'hello  world':
    print('4. 测试失败!')
elif trim('') != '':
    print('5. 测试失败!')
elif trim('    ') != '':
    print('6. 测试失败!')
else:
    print('trim() 函数测试成功!')

2. 参考文献

廖雪峰Python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/1017269965565856


OK!

以上,Enjoy~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 0. 环境
  • 1. 切片操作
    • 1.1. 简介
      • 1.2. 举例说明
        • eg.1. 取第1元素
        • eg.2. 取最后1个元素
        • eg.3. 复制整个列表
        • eg.4. 取前10个元素
        • eg.5. 取前10个元素
        • eg.6. 取从第11个元素到第20个元素
        • eg.7.1. 每隔10个取一个数,从开始
        • eg.7.2. 每隔10个取一个数,从第50个元素(51)开始
        • eg.7.3. 每隔10个取一个数,从第50个元素(51)开始,到第89个元素(90)
        • eg.8. 取后10个元素
      • 1.3. 简单运用
      • 2. 参考文献
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档