国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python隨手筆記第一篇(2)之初識列表和元組

Python隨手筆記第一篇(2)之初識列表和元組

2020-08-10 10:00腳本之家 Python

Python中,列表和元組是一種數據結構:序列,序列中的每個元素都被分配一個序號,元素的位置,第一原元素的位置為0,因此類推,序列是最基本的數據結構,本文給大家分享Python隨手筆記第一篇(2)之初識列表和元組,感興趣的朋

Python中,列表元組是一種數據結構:序列,序列中的每個元素都被分配一個序號,元素的位置,第一原元素的位置為0,因此類推。序列是最基本的數據結構,列表和元組他們之間具有一定的區別,即列表可以修改,而元組則不能修改!如果要添加元素最好是用列表。

1、 在python中,最基本的數據結構是序列,序列中每一個元素被分配一個序號,即元素的位置,稱為索引。索引從0開始,-1表示倒數第一個元素,-2表示倒數第二個元素,因此既可以是從前到后開始對元素進行訪問,也可以從后往前對元素進行訪問。

2、 python序列中有6種內建的序列:列表、元組、字符串、Unicode字符串、buffer對象,xrange對象。其中有兩種常見類型:列表和元組。

列表和元組的主要區別在于,列表可以修改,元組則不能。一般來說,在幾乎所有的情況下列表都可以替代元組。一個例外情況:使用元組作為字典的鍵。因為鍵不可修改,所以就不能使用列表。

3、 列表中的各個元素通過逗號分隔,寫在方括號中。

4、 序列中也可以包含其他序列。

Python隨手筆記第一篇(2)之初識列表和元組

5、 通用序列操作:索引、分片、加、乘、檢查某個元素是否屬于序列的成員、計算序列長度、找出最大元素、找出最小元素。

6、索引:

序列中的所有元素都是有編號的,從0開始遞增,通過編號分別訪問。

Python隨手筆記第一篇(2)之初識列表和元組

也可以從最后一個元素往前回溯訪問,最后一個元素的位置是-1。

字符串字面值也可以直接使用索引,而不需要一個變量來引用他們,兩者效果一樣。

Python隨手筆記第一篇(2)之初識列表和元組

如果一個函數調用返回一個序列,那么可以直接對返回結果進行索引操作。

7、分片:

Python隨手筆記第一篇(2)之初識列表和元組

使用索引來訪問序列中的單個元素,

使用分片則可以訪問一定范圍內的多個元素。

分片操作需要提供兩個索引作為邊界,第1個索引的元素包含在該分片內,第2個索引則不包含在分片內。

如何訪問最后一個元素?

Python隨手筆記第一篇(2)之初識列表和元組

原序列中只有9個元素,索引從0到8

Python隨手筆記第一篇(2)之初識列表和元組

使用number[6:8]無法獲取最后一個元素

使用倒數法number[-3:-1]也無法獲取最后一個元素

有兩種方法可以成行:

①將后面一個邊界索引設置出范圍之外,比如number[6:9],將可以涵蓋第8個元素

②直接省略后面一個邊界索引,比如number[6:],意思就是可以從第6個讀取直至最后一個

同理也有:

兩個邊界索引都空出的話,就可以讀出全部元素。

Python隨手筆記第一篇(2)之初識列表和元組

另外,對于number[-3:0]出現[]空列表的結果,原因是前一個邊界索引元素必須在后一個索引元素左側,否則結果就是空。

8、為分片設置步長

分片其實包含三個參數[邊界1:邊界2:步長]

省略步長參數時,步長就取默認值1。

步長為1就會便利邊界內的全部元素。

步長大于1時就會間隔的取出元素。

比如設置步長為2,就會每2個元素取出第一個元素,或者說是每隔1個元素取出1個元素。

Python隨手筆記第一篇(2)之初識列表和元組

步長不能為0,但步長可以為負數,這樣就是倒著取,從右往左取數,相應的邊界索引之間不再是第一個索引元素必須在第2個索引左側的要求,而是:第一個索引元素需要在第二個索引元素的右側。

比如:

Python隨手筆記第一篇(2)之初識列表和元組

Python隨手筆記第一篇(2)之初識列表和元組

 

總結如下:

①步長參數可以省略,省略后取默認值1;

②步長為正時,從序列左側向右側取,結果也是這種順序排列;步長為負時,從序列右側向左側取,結果也是按照這種倒著的順序(相對于原序列來說)排列;

③步長為正時,要求第一個索引元素必須在第二個索引元素的左側;步長為負時,要求第一個索引元素必須在第二個索引元素的右側;

④不論是步長為正還是步長為負,第一個索引元素都會被取出,第二個索引元素都不會被取出。

9、序列相加:

兩種 相同類型 的序列可以進行相加操作。

比如:

字符串與字符串相加,列表與列表相加。字符串與列表之間不能相加。

Python隨手筆記第一篇(2)之初識列表和元組

10、序列乘法:

用數字x乘以一個序列會生成同類型的一個新序列,新序列中原序列會被重復x次。

如果想初始化一個由10個元素的空序列,可以使用乘法來完成,這里也要使用一個python內置的None值。

Python隨手筆記第一篇(2)之初識列表和元組

None是表示什么都沒有。

Python隨手筆記第一篇(2)之初識列表和元組

記住python是區分大小寫的。

11、成員存在檢查:

檢查某個元素是否存在與一個序列中,使用in。若存在,返回true,若不存在則返回false。

Python隨手筆記第一篇(2)之初識列表和元組

Python隨手筆記第一篇(2)之初識列表和元組

上面兩個例子,一個可以用作權限檢查,一個可以用作用戶名單檢查。

下面寫一個用戶名密碼檢查:

Python隨手筆記第一篇(2)之初識列表和元組

Python隨手筆記第一篇(2)之初識列表和元組

12、長度、最小值、最大值:

使用python內建函數len(),max(),min()來求序列的長度、最大值、最小值。如:

Python隨手筆記第一篇(2)之初識列表和元組

13、列表

列表可以使用所有適用于序列的標準操作,如:索引、分片、相加、乘法,等等。

列表區別與字符串、元組等其他類型的序列的特征是:列表是可以修改的。

因此,列表有些特殊的操作:元素負值、元素刪除、分片賦值、列表方法。

(1)list()函數:

Python隨手筆記第一篇(2)之初識列表和元組

list()函數適用于所有類型的序列,而不只是字符串。

(2)列表賦值:

Python隨手筆記第一篇(2)之初識列表和元組

列表賦值,不能為一個位置不存在的元素進行賦值。

(3)刪除元素

從列表中刪除元素,使用del語句來實現。

Python隨手筆記第一篇(2)之初識列表和元組

(4)分片賦值

Python隨手筆記第一篇(2)之初識列表和元組

上面的例子,使用list函數對name[7:]這一分片進行了賦值,一次改變了列表name中多個元素的值。

①分片賦值也可以完成替換元素的操作。

Python隨手筆記第一篇(2)之初識列表和元組

上面的例子是用等長的列表替代元列表中等長個數的元素,但是當替代列表沒有被替代的元素多時,就發生了直接替代的操作。正如這里使用'world'和'123'對name列表進行替代的操作。

②分片賦值也可以完成插入元素的操作。

當沒有被替代的分片元素時,賦值就變成了直接插入元素。

Python隨手筆記第一篇(2)之初識列表和元組

③分片賦值也可以完成刪除元素的操作。

Python隨手筆記第一篇(2)之初識列表和元組

用一個空列表來給一個分片進行賦值,相當于直接刪除了該分片中的所有元素。

這條語句的作用類似于del number[2:7]。

(5)列表方法:append

append方法用于在列表末尾追加新的對象。

格式:對象.append(參數)

只能有一個參數,是要追加到該對象的元素。

Python隨手筆記第一篇(2)之初識列表和元組

(6)列表方法:count

count方法用于統計某個元素在列表中出現的次數

Python隨手筆記第一篇(2)之初識列表和元組

(7)列表方法:extend

extend方法主要用于使用一個列表擴展另一個列表。

Python隨手筆記第一篇(2)之初識列表和元組

直接將list2擴展補充到list1的末尾。

extend擴展操作與連接操作的不同之處在于:擴展操作修改了原有的列表,而連接操作會返回一個全新的列表。

Python隨手筆記第一篇(2)之初識列表和元組

使用加法的連接操作并沒有改變原有的列表。

(8)列表方法:index

index方法主要用于從列表中找出某個值第一個匹配項的索引位置。

Python隨手筆記第一篇(2)之初識列表和元組

index會搜素第一個'aaa'在列表中的位置,返回它的索引值。

如果沒有搜索到,換句話說,就是列表中沒有出現該對象,那么久會報錯,產生異常。

(9)列表方法:insert

insert方法用于將對象插入到列表中。

Python隨手筆記第一篇(2)之初識列表和元組

(10)列表方法:pop

pop方法用于從列表中移除一個元素,并且返回該元素的值。

默認是移除最后一個元素。

Python隨手筆記第一篇(2)之初識列表和元組

如果不指定pop(參數)中的參數取值,那么會自動移除最后一個,如果指定參數值,則會移除指定的那個元素。

pop方法會返回要移除的那個元素,并完成從列表中的移除。

pop相當于棧中的出棧,append相當于棧中的入棧。

pop(0)可以實現隊列中的先進先出中的出。

(11)列表方法:remove

remove方法用于移除列表中某個值的第一個匹配項。

Python隨手筆記第一篇(2)之初識列表和元組

只有第一個匹配項會被移除。沒有返回值,這是和pop的區別,當移除項不存在與列表中時,不會改變列表本身,并且會報錯。

(12)列表方法:reverse

reverse方法將列表中的元素反向存放。

Python隨手筆記第一篇(2)之初識列表和元組

如果只想將列表反向迭代輸出,并不改變列表本身,那么可以用reversed()函數來完成

Python隨手筆記第一篇(2)之初識列表和元組

(13)列表方法:sort

對列表進行排序,并改變列表本身。

Python隨手筆記第一篇(2)之初識列表和元組

Python隨手筆記第一篇(2)之初識列表和元組

字母和數字混在一起,是按照ASCII碼進行排序。

如果想對列表進行排序,但又不改變列表本身。那么有:

Python隨手筆記第一篇(2)之初識列表和元組

 

Python隨手筆記第一篇(2)之初識列表和元組

想通過賦值,將x.sort()結果賦值給y,但是y返回為空。說明這種賦值是不可行的,因為sort方法不返回任何值。

Python隨手筆記第一篇(2)之初識列表和元組

如果首先將x通過賦值,賦給y,再對y進行sort()方法,希望通過此法對y進行排序而不影響x本身。但是從結果看,對y的sort仍然影響到了x。原因是:通過y=x這種賦值形式,其實并沒有產生一個新的列表賦給y,而只是讓y指向了與x一樣的那個列表,即x和y都指向同一個列表。那么對y進行排序操作,實質上也是和x共同指向的那個列表進行排序,所以也改變了x。

這種讓x產生一個副本,對副本進行排序操作而不影響x本身的思路是正確的,只是賦值的形式不當。

Python隨手筆記第一篇(2)之初識列表和元組

通過分片操作可以快速地將一個列表整體復制給另一個變量。

另一種獲取已排序的列表副本而不影響列表本身的方法是使用sorted函數。

Python隨手筆記第一篇(2)之初識列表和元組

sorted()是函數,不是方法。因此不能像x.sotred()使用。

sorted()函數可以應用于任何序列。

Python隨手筆記第一篇(2)之初識列表和元組

sort方法是默認的按照升序進行排序。如果需要自定義排序的方向,則可以使用內建函數cmp()來實現。

cmp(x,y) 函數用于比較2個對象,如果x<y返回-1,如果x=y返回0,如果x>y返回1。

sort方法還有另外兩個可選參數,key和reverse。

Python隨手筆記第一篇(2)之初識列表和元組

14、元組:

元組和列表一樣都是序列,唯一的不同是元組不能修改。

列表是通過方括號括起來,而元組則是通過圓括號括起來。

空列表是[],空元組是()

一個元素的元組(1,)-----也需要用一個逗號,逗號非常重要

多個元素的元組(1,2,3,4)

如果一個元素,寫成(1),那么事實上它不是元組,是數1

Python隨手筆記第一篇(2)之初識列表和元組

(1)tuple函數

類似于列表中的list()函數

Python隨手筆記第一篇(2)之初識列表和元組

使用tuple函數時,可以將字符串、列表拆分形成元組。

(2)創建元組

使用tuple()函數創建

列舉法創建

Python隨手筆記第一篇(2)之初識列表和元組

(3)訪問元組與元組分片

元組分片后還是元組。

Python隨手筆記第一篇(2)之初識列表和元組

(4)一般情況下,在不改變其內容本身的時候,可以使用列表來代替元組。

但是,在兩個情況下,元組是不可替代的。

①元組在映射中可以當做鍵使用,但是列表不行。

②元組作為很多內建函數和方法的返回值存在。

15、小結:

序列:一種數據結構,對其中的元素從0開始編號,編號為-1為倒數第一個元素。

典型的序列是列表、字符串、元組。其中列表是可以修改的,而字符串和元組是不可以修改的,一旦創建就固定了。

可以通過分片操作訪問序列的單個元素或者多個元素。分片需要指定起始位置和終止位置。起始位置元素包含在分片內,終止位置元素不包含在分片內。

Python隨手筆記第一篇(2)之初識列表和元組

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩中文字幕av | 91精品久久 | 日韩精品一区二区在线 | 国产精品国产三级国产aⅴ9色 | 欧美成人a | 成人国产精品免费观看 | 久久久蜜臀 | 国产一区二区三区在线视频 | 91亚色| 国产视频精品免费 | 高清中文字幕 | 一级黄色片日本 | 欧美黑人性暴力猛交喷水 | 国产精品久久久久久久久久免费 | 一区二区三区视频在线观看 | 三级av在线 | 999在线观看视频 | 视频一区二区三区中文字幕 | 日日精品 | 亚洲专区中文字幕 | 欧洲黄色 级黄色99片 | 牛牛澡牛牛爽一区二区 | 国产精品一码二码三码在线 | 成人性生交大片免费看网站 | 在线视频亚洲 | 色婷婷久久一区二区三区麻豆 | 成人在线视频免费观看 | 成人综合站 | 亚洲视频在线观看免费 | 中文字幕在线电影 | 亚洲一区有码 | 欧洲亚洲视频 | 亚洲 欧美 日韩 丝袜 另类 | 精品一区二区久久 | 国产成人精品久久二区二区 | 在线视频成人 | 日韩欧美中文字幕一区二区三区 | 日本视频中文字幕 | 免费成人在线网站 | 日韩激情一区二区三区 | 国产亚洲一区二区精品 |