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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python的序列包括字符串列表和什么_Python基础:03序列:字符串、列表和元组

發(fā)布時間:2023/12/2 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的序列包括字符串列表和什么_Python基础:03序列:字符串、列表和元组 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一:序列

1:連接操作符(+)

這個操作符允許把一個序列和另一個相同類型的序列做連接,生成新的序列。語法如下:sequence1 + sequence2

該表達式的結(jié)果是一個包含sequence1和sequence2 的內(nèi)容的新序列。

注意,這個操作不是合并操作中最快或者說最有效的。對字符串來說,這個操作不如把所有的子字符串放到一個列表或可迭代對象中,然后調(diào)用一個join方法來把所有的內(nèi)容連接在一起節(jié)約內(nèi)存;

類似地,對列表來說,推薦用列表類型的extend()方法來把兩個或者多個列表對象合并。

2:切片操作符([], [:], [::])

通過單一索引訪問序列的一個元素的時候,如果訪問一個越界的索引,會引發(fā)一個如下的異常:

>>>names = ('Faye', 'Leanna', 'Daylen')>>>print names[4]

Traceback (most recent call last): File"", line 1, in?

IndexError: tuple index out of range

切片訪問方式,只要簡單的給出開始和結(jié)束的索引值,并且用冒號分隔就可以了,其語法如下:

sequence[starting_index:ending_index]

通過這種方式可以得到從起始索引到結(jié)束索引(不包括結(jié)束索引對應(yīng)的元素)之間的一"片"元素。起始索引和結(jié)束索引都是可選的,如果沒有提供或者用None 作為索引值,切片操作會從序列的最開始處開始,或者直到序列的最末尾結(jié)束。

在切片訪問中,沒有越界一說,開始和結(jié)束素引值可以超過序列的范圍。起始索引可以小于0,而對于結(jié)束索引,也可以超出序列的長度。

切片訪問中,還可以有步長參數(shù),該參數(shù)類似于range中的步長參數(shù)。步長默認為1。

3:內(nèi)建函數(shù)

像list(), str(), tuple()這樣的工廠函數(shù),實際上是將參數(shù)內(nèi)容淺拷貝到新生成的對象中。其實在連接操作和重復操作時,也是同樣的淺拷貝。淺拷貝就是只復制了引用。

二:字符串

1:Python實際上有3類字符串:通常意義的字符串(str),Unicode字符串(unicode),還有一個抽象類basestring,str和unicode都是basestring的子類。這個basestring是不能實例化的。

2:在字符串中,成員操作符(in ,not in)用于判斷一個字符或者一個子串是否出現(xiàn)在另一個字符串中。出現(xiàn)則返回True,否則返回False。

3:連接字符串,除了使用連接操作符(+)之外,更加推薦使用字符串格式化操作符(%),或者把所有字符串放到一個列表中,然后用join方法將它們連在一起:

>>> '%s %s' % ('Spanish', 'Inquisition')'Spanish Inquisition'

>>> s = ' '.join(('Spanish', 'Inquisition', 'Made Easy'))>>>s'Spanish Inquisition Made Easy'

4:如果把一個普通字符串和一個Unicode字符串做連接處理,Python 會在連接操作前先把普通字符串轉(zhuǎn)化為Unicode 字符串:

>>> 'Hello' + u' ' + 'World' + u'!'u'Hello World!'

5:格式化操作符(%)

Python支持兩種格式的輸入?yún)?shù)。第一種是元組,這基本上是一種C的printf()風格的轉(zhuǎn)換參數(shù)集;

Python支持的第二種形式是字典形式,這種形式里面,key 是作為格式字符串出現(xiàn),相對應(yīng)的value 值作為參數(shù)在進行轉(zhuǎn)化時提供給格式字符串。例子如下:

>>> adict = {'lang': 'Python', 'howmany':3}>>> 'There are %(howmany)d %(lang)s QuotationSymbols' %adict'There are 3 Python Quotation Symbols'

格式字符串既可以跟print語句一起用來向終端用戶輸出數(shù)據(jù),又可以用來合并字符串形成新字符串。

6:原始字符串

原始字符串是為了對付那些在字符串中出現(xiàn)的特殊字符。在原始字符串里,所有的字符都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。原始字符串的這個特性讓一些工作變得非常的方便,比如正則表達式的創(chuàng)建。

除了原始字符串符號(引號前面的字母"r")以外,原始字符串跟普通字符串有著幾乎完全相同的語法。這個'r'可以是小寫也可以是大寫,唯一的要求是必須緊靠在第一個引號前。

比如需要一個反斜杠加一個'n',而不是一個換行符:

>>> '\n'

'\n'

>>> astr = '\n'

>>> printastr>>> bstr = r'\n'

>>> printbstr

\n>>> r'\n'

'\\n'

7:chr()、unichr()和ord()

chr()函數(shù)用一個范圍在range(256)內(nèi)的(就是0到255)整數(shù)做參數(shù),返回一個對應(yīng)的字符.unichr()跟它一樣,只不過返回的是Unicode字符。

ord()函數(shù)是chr()函數(shù)(對于8 位的ASCII 字符串)或unichr()函數(shù)(對于Unicode對象)的配對函數(shù),它以一個字符(長度為1的字符串)作為參數(shù),返回對應(yīng)的ASCII數(shù)值,或者Unicode數(shù)值,如果所給的Unicode 字符超出了你的Python 定義范圍,則會引發(fā)一個TypeError 的異常。

>>> chr(65)'A'

>>> ord('a')97

>>> unichr(12345)

u'\u3039'

8:字符串內(nèi)建方法join

str.join(iterable)

以str為分隔符,將seq中所有字符串合并為一個新的字符串,并返回新的字符串。比如:

>>> ''.join(('hello', 'world', 'hehe'))'helloworldhehe'

>>> ' '.join(('hello', 'world', 'hehe'))'hello world hehe'

>>> '-'.join(('hello', 'world', 'hehe'))'hello-world-hehe'

三:列表

1:列表的比較

如果比較的是兩個同類的對象,比較操作是非常直觀的。比如數(shù)字和字符串,直接比較它們的值就行了。對于序列類型,比較操作稍微有點復雜了。

列表的比較,如果它的元素都是相同類型,則用標準的比較方法來作比較.否則,當我們比較list1和list2時,list1和list2進行逐項比較。如果比較的值相等,那么兩個序列的下一個值繼續(xù)比較,直到不相等的情況出現(xiàn),或者到達較短的一個序列的末尾,在這種情況下,長的序列被認為是"較大"的。

a:對兩個列表的元素進行比較.

b:如果比較的元素是同類型的,則比較其值,返回結(jié)果.

c:如果兩個元素不是同一種類型,則檢查它們是否是數(shù)字:

如果都是數(shù)字,執(zhí)行必要的數(shù)字強制類型轉(zhuǎn)換,然后比較。

如果有一方的元素是數(shù)字,則另一方的元素"大"(數(shù)字是"最小的")

否則,通過類型名字的字母順序進行比較.

d:如果有一個列表首先到達末尾,則另一個長一點的列表"大".

e:如果比較完了兩個列表的元素而且所有元素都是相等的,那么結(jié)果就是個平局,就是說返回一個0。

四:元組

1:雖然元組本身不可變,但是元組可以包含可變的對象。

總結(jié)

以上是生活随笔為你收集整理的python的序列包括字符串列表和什么_Python基础:03序列:字符串、列表和元组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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