Python學習筆記__3.1章 切片

來源:互聯網
上載者:User

標籤:程式設計語言   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章 切片

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.