码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记__3.1章 切片

时间:2018-05-13 10:37:56      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:编程语言   Python   

# 这是学习廖雪峰老师python教程的学习笔记

第3章学习Python的高级特性

python的高级特性帮助我们更简洁的写代码


切片可以帮助我们快速的从 list,tuple,str中取出自己想要的部分

list 和 tuple 的索引是从0开始的

 

L = list(range(10))

 


L[0:3]  取前三个元素,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2。包前不包后

L[:3] # 取出前3个数

L[:10:2]  # 前10个数,每两个取一个(即步长为2)

L[::5]  # 所有数,每5个取一个(即步长为5)

L[:] # 原样复制一个list

 

#也可以倒着取,倒数第一个元素的索引是-1,也是包前不包后

L[-1]      # 取出最后一个元素,格式为 int

L[-2:]   # 取出最后两个元素,格式为list

L[:-1]   # 不显示最后一个元素

L[-2:-1] # 取出倒数第二个元素,格式为List

L[::-1]  # 倒序排列元素,步长为-1,即 [10,9,8….]

L[::-2]  # 倒序排列元素,步长为-2,即 [10,8,6…..]

 

# 字符串的操作

>>> 'ABCDEFG'[:3]

'ABC'

>>> 'ABCDEFG'[::2]

'ACEG'

取字符串建议只用切片,不用下标,在脚本里,有时用下标取值会报错

2、例题

利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:

# -*- coding: utf-8 -*-

def trim(s):

 

方法一:

    if s =="":

        s=s

    elif s[-1]==" ":

        s=s[:-1]

        return trim(s)

    elif s[0]==" ":

        s=s[1:]

        return trim(s)

    return s

 

方法二:(这里只能用切片取值,用索引如s[0],会报错)

    while s[:1] == ' ':   #如果字符串第一个是空格,删除第一个

        s = s[1:]

    while s[-1:] == ' ':  #如果字符串最后一个是空格,删除最后一个

        s = s[:-1]

    return s

 

Python学习笔记__3.1章 切片

标签:编程语言   Python   

原文地址:http://blog.51cto.com/12758568/2115628

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!