python切片對象和(python切片可以)

本文目錄一覽:

徹底搞懂python序列的切片操作

切片是python極其有用且強大的功能。它使我們能夠使用簡單明了的語法來操作序列,包括字符串、列表、元組。切片簡單來說就是從序列中切取咱們需要的值,並生成一個新的序列,理論上來說,只要表達式正確,我們可以通過切片切取序列中的任意值。

如果沒有缺省的話,表達式應該包含三個參數以及兩個冒號,三個參數的意義分別如下:

1、start_index:切片的起始位置( 包括該位置 ),0表示從第一個開始,1表示從第二個開始,以此類推。-1表示從倒數第一個開始,-2表示從倒數第二個開始,以此類推。 缺省時取0或-1(即step為正數取0,負數取-1)

2、end_index:切片的結束位置( !!!且不包括該位置 ),0表示第一個為終點,1表示第二個為終點,以此類推。-1表示倒數第一個為終點,-2表示倒數第二個為終點,以此類推。 缺省時默認為序列長度(step為正數取正,step負數取負)

3、step,表示步長。可取正負數,正數表示從左往右,負數表示從右往左。 缺省時取1

組合使用

只有一個冒號時默認step為1。當start_index的位置在end_index的左邊時,表示從左往右取值;當start_index的位置在end_index的右邊時,表示從右往左取值

特殊情況

連續切片操作

按照順序進行切片即可

其他序列的切片

python常用切片操作

start:表示切片的開始索引位置(包括該位置),此參數也可以不指定,會默認為 0,也就是從序列的開頭進行切片;

end:表示切片的結束索引位置(不包括該位置),如果不指定,則默認為序列的長度;

step:表示在切片過程中,隔幾個存儲位置(包含當前位置)取一次元素,也就是說,如果 step 的值大於1則在進行切片去序列元素時,會“跳躍式”的取元素。如果省略設置 step 的值,則最後一個冒號就可以省略。

python切片是什麼

python切片是什麼?

切片是指對操作的對象取出一部分的概念

字符串、列表、元組都支持切片語法

切片的語法為 [ 起始 : 結束 : 步長]

這裡注意:選取的區間為左閉右開,即包括起始位置,不包括結束位置

1 字符串切片

以上就是小編分享的關於python切片是什麼的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

書聲琅琅教育:什麼是Python切片?

Python中符合序列的有序序列都支持切片(slice),如:列表,字符,元祖

Python中切片的格式:[start : end : step]

Start:起始索引,從0開始,-1表示結束;End:結束索引;Step:步長

end-start=正數時,從左向右取值,=負數時反向取值

注意:切片結果不包含結束索引,即不包含最後一位,-1代表最後一個位置索引

了解更多python知識,0基礎新手python在線學習就上智圭谷-書聲琅琅教育旗下高端IT教育品牌,專註python語言領域

go和python切片的不同

go有切片slice類型,python有列表和元組,這兩種語言都有切片操作。

但是它們的切片操作是完全不同的。

首先說第一個,go的切片,其成員是相同類型的,python的列表和元組則不限制類型。

兩種語言都有[a:b]這種切片操作,意義也類似,但是go的a、b兩個參數不能是負數,python可以是負數,此時就相當於從末尾往前數。

兩種語言都有[a:b:c]這種切片操作,意義卻是完全不同的。go的c,表示的是容量;而python的c表示的是步長。

但是最大的不同,還是:

python的切片產生的是新的對象,對新對象的成員的操作不影響舊對象;go的切片產生的是舊對象一部分的引用,對其成員的操作會影響舊對象。

究其原因,還是底層實現的不同。

go的切片,底層是一個三元組,一個指針,一個長度,一個容量。指針指向一塊連續的內存,長度是已有成員數,容量是最大成員數。切片時,一般並不會申請新的內存,而是對原指針進行移動,然後和新的長度、容量組成一個切片類型值返回。也就是說,go的切片操作通常會和生成該切片的切片共用內存。

不僅是切片,字符串、數組的切片也是一樣的,通常會共用內存。

當然也有異常情況,那就是切片時,提供的容量過大,此時會申請新內存並拷貝;或者對切片append超出容量,也會如此。這時,新的切片,才不會和老切片共享內存。(如果你切片/創建時提供的容量小於長度,會panic)

python的列表,其實是個指針數組。當然在下層也會提供一些空位之類的,但基本就是個數組。對它們切片,會創建新的數組,注意,是創建新的數組!python的列表可沒有容量的概念。

這其實也體現了腳本語言和編譯語言的不同。雖然兩個語言都有類似的切片操作;但是python主要目標是方便;go主要目標卻是快速(並彌補丟棄指針運算的缺陷)。 a

原創文章,作者:VQYKW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130049.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VQYKW的頭像VQYKW
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論