本文目錄一覽:
Python 通用的序列操作
序列 (sequence)是Python最基本的一種數據結構。
序列中的每個元素都有編號,即其位置或索引,其中第一個元素的索引為0,第二個元素的索引為1,依此類推。Python的序列索引支持負數,-1表示序列的最後一個元素,這是Python不同其他很多種語言不同的地方。
Python內置了多種序列,列表、元組、字符串是其中最常用的三種,本文為你描述各種序列的通用操作。
索引從0開始,索引號為0的元素為1,greeting的索引號為0的元素為’H’。
你可能注意到’Hello’和’H’都用單引號包圍,這是Python不同於其他語言的另一個地方。Python並沒有專門用於表示字符的數據類型,因此一個字符就是一個只包含一個元素的字符串。
Python的序列索引支持負數,-1表示倒數第一個元素。
切片 (slicing)操作用於訪問序列特定 範圍 內的元素。在一對方括號內使用兩個索引,並用冒號隔開:
注意到,返回的序列並未包含願序列的第6個元素7,就相當於數學集合中的 左閉右開區間 操作。
換言之,你提供兩個索引來指定切片的邊界,其中第一個索引指定的元素包含在切片內,但第二個索引指定的元素不包含在切片內。
保留冒號,省略第一個索引,表示從序列起始位置開始切片;省略第二個索引,表示切片到序列末尾,包含最後一個元素:
這個操作的效果是:在指定的區間內間隔取元素,語法格式為:
例如:
步長為正數時,它從起點移到終點,而步長為負數時,它從終點移到起點。
可以使用加法運算(+運算符)拼接兩個序列:
從錯誤消息可知,不能拼接列表和字符串,雖然它們都是序列。一般而言,不能拼接不同類型的序列。
將序列與數x 相乘時,將重複這個序列x 次來創建一個新序列:
初始化一個長度為10的空列表:
成員資格檢查判定一個元素是否存在於集合中,如存在返回True,否則返回False,實際上是一個布爾表達式。
語法:
例如:
內置函數 len 返回序列包含的元素個數,而 min 和 max 分別返回序列中最小和最大的元素。
Python通用的序列操作有:索引、切片、乘法、成員資格檢查、長度、最小值和最大值。
python之序列
Python 中的序列是一塊可存放多個值的連續內存空間,所有值按一定順序排列,每個值所在位置都有一個編號,稱其為索引,我們可以通過索引訪問其對應值。
其實字符串就是序列結構,除此之外常見的序列結構還包括列表、元組等。
序列索引支持非負數和負數, 索引為非負數,從 0 開始 ,如下所示:
以字符串為例,如下所示:
輸出結果:
從結果來看,我們使用非負數索引與負數索引得到的結果一致。
切片操作可以訪問一定範圍內的元素,語法如下所示:
以字符串為例,如下所示:
輸出結果:
Python 支持類型相同的序列使用 + 作相加操作,該操作不會去除重複的元素。以字符串為例,如下所示:
輸出結果:
Python 中,使用數字 n 乘以一個序列會生成新的序列,內容為原來序列被重複 n 次的結果。以字符串為例,如下所示:
輸出結果:
Python 使用 in 關鍵字檢查某元素是否為序列的成員,語法如下:
val in seq
以字符串為例,如下所示:
輸出結果:
True
2.6 內置函數
len()—— 計算序列的長度
max()——找出序列中的最大元素
min()——找出序列中的最小元素
list() ——將序列轉換為列表
str() ——將序列轉換為字符串
sum()——計算元素的和
sorted()——對元素進行排序
enumerate()——將序列組合為一個索引序列,多用在 for 循環中
舉例,如下所示:
輸出結果:
python常用序列結構
序列是python的基本數據結構,序列中的每個元素被分配一個序號即索引,索引從0開始。
序列的兩種常用類型:列表和元組。
列表與元組的區別:列表可修改,元組不能修改。
通用序列操作
1、索引:索引0指向第一個元素,索引-1指向最後一個元素。
2、程序:輸入年,月(1-12),日(1-31),然後打印出相應的日期的月份名稱。
代碼詳解:months=[]:定義一個months序列。
endings=[‘st’,’nd’,’rd’]+17*[‘th’]\
+[‘st’,’nd’,’rd’]+7*[‘th’]\
+[‘st’]:定義一個endings序列,用來表示1-31的英文縮寫,1st,2nd,3rd,4-20th,21st,22nd,23rd,24-30th,31st。
代碼運行輸出結果:
3、分片:提取序列中的某個範圍內的元素。
分片tag[9:30]:第一個索引號9是包含在分片內的,第二個索引號30則不包含在分片內。
4、如果要去序列中最後一個最後一個元素怎麼辦?
可以通過置空,最後一個一個索引來獲取最後的元素。可以通過置空最前的索引來獲取第一個元素。可以兩邊都置空來獲取整個元素。
5、步長:
正數步長:從序列的頭部開始向右提取元素,直到最後一個元素。
負數步長:從序列的尾部開始向左提取元素,直到第一個元素。
6、序列運算
序列相加:對序列進行連接操作,列表與字符串是無法連接在一起的。
序列相乘:數字x乘以一個序列會生成新的序列,即原來的序列被重複x次。
None,空列表和初始化:初始化一個長度為10的列表。
代碼分析:在屏幕上打印一個由字符組成的盒子,這個盒子在屏幕上居中,而且根據用戶輸入的句子自動調整大小。
成員資格:in運算符,輸入布爾運算符,當條件為真時返回true,為假則返回false。
以上代碼在UNIX系統中,可以檢查文件可寫和可執行權限的腳本。
以上代碼可以檢查輸入的用戶名是否存在於用戶列表中。
以上代碼可以作為過濾垃圾郵件的一部分。
代碼分析:查看用戶輸入的用戶名,密碼是否存在於數據庫中,如果存在則打印’Access granted’
程序運行結果:
內建函數:len:返回序列中包含元素的數量,min:返回序列中最小的元素,max:返回序列中最大的元素。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/153219.html