日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Python 中的 sequence 类型

發(fā)布時(shí)間:2024/3/13 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 中的 sequence 类型 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在查看Python 內(nèi)置的幫助文檔的時(shí)候, 我發(fā)現(xiàn)其對(duì)函數(shù)的定義def是如下形式的.

duplicated( subset: 'Hashable | Sequence[Hashable] | None' = None, keep: "Literal['first'] | Literal['last'] | Literal[False]" = 'first' ) -> 'Series' method of pandas.core.frame.DataFrame instance

可見(jiàn)函數(shù)對(duì)其中的輸入變量進(jìn)行了類型解釋, 如subset被解釋使用Hashable或Sequence[Hashable]或None類型. 我很好奇Hashable和Sequence[Hashable]代表了什么. 本文以sequence 類型為例首先進(jìn)行解釋.

其實(shí), Python 中的 sequence 類型是幾種數(shù)據(jù)類型的總稱。這些類型的共同點(diǎn)是集合中的元素是有序排列的。本文詳細(xì)介紹 sequence 中各種類型的共同點(diǎn)。

概述

sequence 類型有 list 、 tuple 和 str 三類。

  • list 類型是最常見(jiàn)的 sequence 類型,對(duì)應(yīng)了其他語(yǔ)言(比如javascript)中的 array 類型。
  • tuple 是 list 類型的immutable版本
  • str 類型也是immutable

list 類型介紹

list 的底層保存的是指向內(nèi)容的引用。

tuple 類型介紹

tuple 對(duì)象一經(jīng)生成,其中的元素便不可更改。

str 類型介紹

字符串使用單引號(hào)或者雙引號(hào)括起來(lái)的字符序列。也是immutable的。如果三個(gè)連續(xù)的單引號(hào)或者雙引號(hào),則表示一個(gè)長(zhǎng)字符串,其中的換行符(\n)無(wú)需轉(zhuǎn)義。比如:

print("""This is a long string""")

sequence 類型的共同用法

下列的用法可以用于 sequence 的任一類型:

尋址

[i]

方括號(hào)用來(lái)表示尋址。?S[i]?返回?S?中第?i?個(gè)元素。

若?i?是負(fù)數(shù),則表示從尾部開(kāi)始,或者可以理解為坐標(biāo)值?i加上序列長(zhǎng)度的結(jié)果,意思是:

S[ i ] = S[ len(S)+i ] ,當(dāng) -len(S)<=i<0

比如:

>>> range(10)[-2] 8 >>> range(10)[10-2] 8 >>> range(10)[-3] 7 >>> range(10)[10-3] 7 >>> range(10)[-10] 0 >>> range(10)[10-10] 0

切片

[m:n:i]

尋址的高級(jí)用法是切片 Slicing 。?S[m:n:i]?返回?S?中第?m?個(gè)元素開(kāi)始,每隔?i?個(gè)元素,直到?n-1?為止的子集。比如:

>>> range(10)[1:8:2] [1, 3, 5, 7] >>>

若不提供?i?,則?i?默認(rèn)為1

>>> range(10)[1:8] [1, 2, 3, 4, 5, 6, 7] >>>

若m或者n是負(fù)數(shù),則按照尋址表示:

>>> range(10)[-8:-1] [2, 3, 4, 5, 6, 7, 8]

若不提供m或者n中的一個(gè),則表示從到尾部結(jié)束或者從頭部開(kāi)始:

>>> range(10)[4:] [4, 5, 6, 7, 8, 9] >>> range(10)[:4] [0, 1, 2, 3] >>>

若m和n均不提供,則表示一個(gè)原始 sequence 的復(fù)制品:

>>> range(10)[:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

級(jí)聯(lián)

+

sequence 的加法 “+” 被重載為級(jí)聯(lián)動(dòng)作:

>>> (1,2,3)+(4,5,6) (1, 2, 3, 4, 5, 6) >>>

重復(fù)

*

sequence 的乘法 “*” 被重載為復(fù)制動(dòng)作:

>>> "abc "*3 'abc abc abc ' >>>

判斷成員身份

in

sequence 類型都支持?in?操作,以判斷某個(gè)元素是否在集合內(nèi)部。

>>> "c a" in ("abc "*3) True >>>

sequence 類型支持的函數(shù)

元素個(gè)數(shù)

len()

len(S)?函數(shù)返回序列 S 的元素個(gè)數(shù)

元素的極值

min( ), max( )

min(S)?函數(shù)返回序列 S 的中最小元素,?max(S)?函數(shù)返回序列 S 的中最大元素。

>>> min("ABC") 'A' >>> max("aBC") 'a' >>>

尋找元素

index( )

S.index(a)?法函數(shù)返回對(duì)象 S 的元素 a 第一次出現(xiàn)的位置,例如:

>>> "aaaa".index('a') 0 >>>

統(tǒng)計(jì)元素出現(xiàn)次數(shù)

count( )

S.count(a)?方法函數(shù)返回對(duì)象 S 的元素 a 出現(xiàn)的次數(shù),例如:

>>> [[1],[1],[1]].count([1]) 3

總結(jié)

以上是生活随笔為你收集整理的Python 中的 sequence 类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。