亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python筆記之列表,元祖和集合

2019-11-06 07:51:18
字體:
來源:轉載
供稿:網友

辛苦堆砌,轉載請注明出處,謝謝!

上一篇文章介紹了Python的基本數據類型和控制流,本篇開始,說說Python更復雜的數據類型,不過這里的復雜是指其具有一定的結構,并不是說這些數據類型真的很難,實際上還是很簡單的,主要包括列表,元祖,集合和字典。基于這些數據類型,我們可以有效地組織數據,并進行靈活的處理。

先來看看我們的列表。

什么是列表?

列表是用[]括起來,用,分割的一系列數據,如

[1, True, 'abc', [2, False, 'def']]

可以看到,列表并不要求其內放置相同類型的數據,但是我們在實際使用中,一般都會放置相同類型的數據,以便于我們進行處理。如

[1, 2, 3]或者['abc', 'def']

如何對列表取值或修改?

(1) 獲取列表長度

使用len()全局方法,len()方法還可以用來測量字符串,元祖以及字典的長度

>>> len([1,2,3])3

(2)列表下標操作

我們可以使用下標對列表進行操作,列表第一個元素的下標為0,第二個為1,以此類推,也可以使用負數,-1代表倒數第一個元素,-2代表倒是第二個元素,以此類推。

我們下面的例子假設都使用列表[1,2,3]進行,賦值給變量a,利用下標讀取值:

>>> a[1]2

>>> a[-3]1

修改對應下標處的值(后續修改操作后記得執行a=[1,2,3],將a變量還原)

>>> a[1]=4>>> a[1, 4, 3]

刪除對應下標處的元素,使用del語句

>>> del a[1]>>> a[1, 3]

通過下標截取子列表,使用start_index:end_index作為下標作用于列表即可,注意,取得的子列表不包括end_index對應的元素,也就是子列表區間為[start_index, end_index),另外,我們可以省略start_index,表示從0開始,省略end_index,表示到達列表末尾

>>> a[1:3][2, 3]

>>> a[:2][1, 2]

>>> a[1:][2, 3]

>>> a[:][1, 2, 3]

>>> a[-2:][2, 3]

執行截取子列表操作之后,看看a的值

>>> a[1, 2, 3]

a并沒有被改變,而是生成了新的子列表,千萬注意。

(3)列表的連接

>>> a=[1,2,3]>>> b=[4,5,6]>>> a+b[1, 2, 3, 4, 5, 6]

(4) 列表的復制

>>> a*3[1, 2, 3, 1, 2, 3, 1, 2, 3]

(5)列表的常用方法

看到這里,熟悉面向對象的人應該能夠想到,如果列表有方法,那么列表實際上是一種Python的類,的確如此

>>> a.__class__<class 'list'>

我們先不去關注Python面向對象編程的部分,畢竟不面向對象的Python已經能夠解決我們的很多問題了。我們只是去看看list,也就是列表類,有哪些常用的操作。由于這些list類的方法,會直接改變列表的內容。在IDLE輸入help(list)可以輸出list類的手冊,可以更深入的了解列表的方法。先執行

>>> a=[1,2,3]

(a) 查找對應值的下標值

>>> a.index(2)1

如果值不存在,Python會拋出錯誤ValueError

>>> a.index(4)Traceback (most recent call last):  File "<pyshell#35>", line 1, in <module>    a.index(4)ValueError: 4 is not in list

(b)列表尾添加值

>>> a.append(4)>>> a[1, 2, 3, 4]

(c)列表插入值

>>> a.insert(1, 4)>>> a[1, 4, 2, 3]

insert方法的第一個參數是要插入的下標位置,第二個參數是要插入的值。

(d)刪除值

>>> a[1, 4, 2, 3]>>> a.remove(4)>>> a[1, 2, 3]

這里注意和前面del區分,del再知道下標時很好用,刪除對應下標的值,remove則處理知道值但不知道下標的情況。

如果刪除不存在的值,會報錯

>>> a.remove(4)Traceback (most recent call last):  File "<pyshell#44>", line 1, in <module>    a.remove(4)ValueError: list.remove(x): x not in list

如果列表有重復值,刪除會怎樣?

>>> a=[1,2,3,4,3]>>> a.remove(3)>>> a[1, 2, 4, 3]

刪除了第一個匹配的元素

(e)排序

>>> a=[2,3,1,7]>>> a.sort()>>> a[1, 2, 3, 7]

(6)列表的使用

(a) 用于循環,可以使用in遍歷a中的所有元素

>>> a=[1,2,3]

>>> for b in a:    PRint(b, end=' ')

輸出1 2 3

(b) 多重賦值

如果我們想把列表中的值分別賦值給多個變量,我們沒必要這樣

>>> a[1, 2, 3]>>> b=a[0]>>> c=a[1]>>> d=a[2]

只需要一條語句即可

>>> b,c,d=a

(c) 判斷某個值是否在列表中,用in和not in進行操作

>>> 1 in aTrue>>> 4 in aFalse>>> 1 not in aFalse>>> 4 not in aTrue

以上就是列表的內容,了解了列表,元祖就相當簡單了,元祖就是只讀的列表,不能對其進行修改,只能獲取值,只要記住這一點就足夠了,元祖用()擴住,逗號分隔,如(1,2,3),但是如果元祖只有一個值,一定寫成(1,),后面加一個逗號,否則,Python會認為1是用括號擴住的常數1。列表和元祖之間可以相互轉換

>>> a[1, 2, 3]

>>> tuple(a)(1, 2, 3)>>> list(a)[1, 2, 3]

最后再來了解一下set,也就是集合,集合和列表類似,可以修改,也可以添加元素,差別在于,列表是一個有序的雙向隊列,集合無序;列表可以保存重復的元素,而集合不行,如果有重復元素,集合只會保留一個。集合是用{}括起來,用逗號分隔的單個值,這里記住是單個值,以方便和后面的字典區分。如{1,2,3}

元祖,列表和集合三者可以相互轉換,因為他們都是一維的數據結構

>>> a[1, 2, 3]>>> tuple(a)(1, 2, 3)>>> set(a){1, 2, 3}>>> list(a)[1, 2, 3]

集合類的可操作方法不多,可以help(set)查看,另外,由于集合無序,所以不能使用下標進行索引,也沒有sort()方法;集合不能有重復元素,所以集合不能進行復制,總之,記住集合無序且不能有重復,所以列表中與順序和重復有關的操作,集合都是不合法的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91视频免费网站| 俺去了亚洲欧美日韩| 欧美成在线观看| 国产精品激情av电影在线观看| 奇米影视亚洲狠狠色| 亚洲成年人在线播放| 成人福利在线视频| 欧美激情在线观看| 国产精品小说在线| 亚洲天堂av综合网| 欧美精品在线网站| 色悠悠久久久久| 久久精品国产99国产精品澳门| www.久久撸.com| 国产精品女主播视频| 7777免费精品视频| 久久精品视频在线播放| 国产一区二区丝袜高跟鞋图片| 麻豆一区二区在线观看| 亚洲精品视频久久| 亚洲欧美综合区自拍另类| 日韩免费不卡av| 性色av一区二区三区| 成人精品视频久久久久| 欧美在线观看视频| 欧美另类第一页| 国产成人精品在线视频| 亚洲最新中文字幕| 国产成人精品999| 欧美日韩免费在线观看| 亚洲国产成人在线播放| 亚洲成人激情小说| 亚洲亚裔videos黑人hd| 亚洲男人天堂古典| 日韩精品亚洲视频| 欧美丝袜一区二区三区| 成人黄色大片在线免费观看| 91视频国产一区| 亚洲综合日韩在线| 国产一区二区三区直播精品电影| 在线播放日韩专区| 精品二区三区线观看| 欧美大成色www永久网站婷| 亚洲永久免费观看| 欧美性猛交xxxx黑人猛交| 欧美一区视频在线| 97在线观看视频国产| 日韩亚洲一区二区| 中文字幕国产亚洲| 岛国av一区二区在线在线观看| 欧美成年人视频| 操91在线视频| 国产做受69高潮| 亚洲第一网站免费视频| 亚洲 日韩 国产第一| 色综合影院在线| 日本成熟性欧美| 九九精品视频在线| 午夜精品99久久免费| 精品国产999| 欧美黑人国产人伦爽爽爽| 欧美乱人伦中文字幕在线| 亚洲一区二区三区香蕉| 在线观看欧美日韩| 久久久久久久久91| 久久在精品线影院精品国产| 欧美国产日韩中文字幕在线| 久久久av电影| 久久视频这里只有精品| 免费91麻豆精品国产自产在线观看| 欧美夫妻性生活xx| 亚洲天堂日韩电影| 91久久国产婷婷一区二区| 欧美整片在线观看| 色爱av美腿丝袜综合粉嫩av| 亚洲日本成人女熟在线观看| 俺也去精品视频在线观看| 亚洲性夜色噜噜噜7777| 久久视频在线播放| 国产欧美最新羞羞视频在线观看| 国产suv精品一区二区三区88区| 国产日韩欧美91| 国产精品专区h在线观看| 国产精品99免视看9| 亚洲风情亚aⅴ在线发布| 成人黄色影片在线| 色综合视频网站| 91国产视频在线播放| 国产欧美精品久久久| 亚洲理论在线a中文字幕| 日韩女优在线播放| 国产精品久久久久高潮| 日韩av色在线| 欧美日韩一区二区免费视频| 中文国产亚洲喷潮| 国产精品福利在线观看| 亚洲色图欧美制服丝袜另类第一页| 欧美韩日一区二区| 国产综合在线视频| 九九视频直播综合网| 欧美电影免费观看| 欧美高清电影在线看| 日韩毛片中文字幕| 亚洲女人天堂视频| 亚洲精品一区二区久| 日韩欧美aⅴ综合网站发布| 性欧美xxxx视频在线观看| 久久久久久国产精品三级玉女聊斋| 国产999精品视频| 国产精品丝袜久久久久久高清| 欧美视频在线观看 亚洲欧| 精品人伦一区二区三区蜜桃网站| 欧美激情第6页| 国产成人精品一区| 久久久久成人网| 91精品一区二区| 亚洲人成网在线播放| 欧美激情伊人电影| 性色av一区二区咪爱| 国内精品久久久| 欧美激情综合色综合啪啪五月| 青青草精品毛片| 日韩视频免费观看| 欧美日韩中文字幕日韩欧美| 欧美另类暴力丝袜| 亚洲国产精品va在线看黑人动漫| 欧美日韩在线视频一区| 55夜色66夜色国产精品视频| 国产一区二区久久精品| 亚洲欧美国产va在线影院| 亚洲小视频在线观看| 欧美洲成人男女午夜视频| 精品亚洲一区二区三区在线观看| 国产日韩欧美夫妻视频在线观看| 日韩av一区二区在线观看| 日韩在线免费视频| 欧美日韩在线一区| 韩国三级电影久久久久久| 国产福利精品在线| 欧美黄色成人网| 国产www精品| 欧美中在线观看| 成人乱人伦精品视频在线观看| 国产精品久久久久久久久久久久久久| 日韩中文理论片| 欧美情侣性视频| 国产日韩中文在线| 最近的2019中文字幕免费一页| 精品久久久久久久久久国产| 懂色av中文一区二区三区天美| 午夜精品99久久免费| 伊人久久五月天| 亚洲精品欧美一区二区三区| 人人爽久久涩噜噜噜网站| 亚洲精品福利视频| 欧美精品在线看| 欧美在线观看视频| 国产不卡视频在线| 亚洲视频视频在线| 日韩精品中文字幕在线| 亚洲一区二区在线播放| 日本精品视频在线观看| 国产精品∨欧美精品v日韩精品| 日韩av电影院|