日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

跟老齊學(xué)Python之有容乃大的list(1)

系統(tǒng) 1691 0

前面的學(xué)習(xí)中,我們已經(jīng)知道了兩種python的數(shù)據(jù)類型:int和str。再強調(diào)一下對數(shù)據(jù)類型的理解,這個世界是由數(shù)據(jù)組成的,數(shù)據(jù)可能是數(shù)字(注意,別搞混了,數(shù)字和數(shù)據(jù)是有區(qū)別的),也可能是文字、或者是聲音、視頻等。在python中(其它高級語言也類似)把狀如2,3這樣的數(shù)字劃分為一個類型,把狀如“你好”這樣的文字劃分一個類型,前者是int類型,后者是str類型(這里就不說翻譯的名字了,請看官熟悉用英文的名稱,對日后編程大有好處,什么好處呢?誰用誰知道!)。

前面還學(xué)習(xí)了變量,如果某個變量跟一個int類型的數(shù)據(jù)用線連著(行話是:賦值),那么這個變量我們就把它叫做int類型的變量;有時候還沒賦值呢,是準(zhǔn)備讓這個變量接收int類型的數(shù)據(jù),我們也需要將它聲明為int類型的變量。不過,在python里面有一樣好處,變量不用提前聲明,隨用隨命名。

這一講中的list類型,也是python的一種數(shù)據(jù)類型。翻譯為:列表。下面的黑字,請看官注意了:

LIST在python中具有非常強大的功能。

定義

在python中,用方括號表示一個list,[ ]

在方括號里面,可以是int,也可以是str類型的數(shù)據(jù),甚至也能夠是True/False這種布爾值??聪旅娴睦?,特別注意閱讀注釋。

            
>>> a=[]    #定義了一個變量a,它是list類型,并且是空的。
>>> type(a)

            
                #用內(nèi)置函數(shù)type()查看變量a的類型,為list
>>> bool(a)   #用內(nèi)置函數(shù)bool()看看list類型的變量a的布爾值,因為是空的,所以為False
False
>>> print a   #打印list類型的變量a
[]

            
          

不能總玩空的,來點實的吧。

            
>>> a=['2',3,'qiwsir.github.io']
>>> a
['2', 3, 'qiwsir.github.io']
>>> type(a)

            
              
>>> bool(a)
True
>>> print a
['2', 3, 'qiwsir.github.io']

            
          

用上述方法,定義一個list類型的變量和數(shù)據(jù)。

本講的標(biāo)題是“有容乃大的list”,就指明了list的一大特點:可以無限大,就是說list里面所能容納的元素數(shù)量無限,當(dāng)然這是在硬件設(shè)備理想的情況下。

list索引

尚記得在《玩轉(zhuǎn)字符串(3)》中,曾經(jīng)給字符串進行編號,然后根據(jù)編號來獲取某個或者某部分字符,這樣的過程,就是“索引”(index)。

            
>>> url = "qiwsir.github.io"
>>> url[2]
'w'
>>> url[:4]
'qiws'
>>> url[3:9]
'sir.gi'

          

在list中,也有類似的操作。只不過是以元素為單位,不是以字符為單位進行索引了??蠢泳兔靼琢?。

            
>>> a
['2', 3, 'qiwsir.github.io']
>>> a[0]  #索引序號也是從0開始
'2'
>>> a[1]
3
>>> [2]
[2]
>>> a[:2]  #跟str中的類似,切片的范圍是:包含開始位置,到結(jié)束位置之前
['2', 3]  #不包含結(jié)束位置
>>> a[1:]
[3, 'qiwsir.github.io']
>>> a[-1]  #負數(shù)編號從右邊開始
'qiwsir.github.io'
>>> a[-2]
3
>>> a[:]
['2', 3, 'qiwsir.github.io']

          

對list的操作

任何一個行業(yè)都有自己的行話,如同古代的強盜,把撤退稱之為“扯乎”一樣,縱然是一個含義,但是強盜們愿意用他們自己的行業(yè)用語,俗稱“黑話”。各行各業(yè)都如此。這樣做的目的我理解有兩個,一個是某種保密;另外一個是行外人士顯示本行業(yè)的門檻,讓別人感覺這個行業(yè)很高深,從業(yè)者有一定水平。

不管怎么,在python和很多高級語言中,都給本來數(shù)學(xué)角度就是函數(shù)的東西,又在不同情況下有不同的稱呼,如方法、類等。當(dāng)然,這種稱呼,其實也是為了區(qū)分函數(shù)的不同功能。

前面在對str進行操作的時候,有一些內(nèi)置函數(shù),比如s.strip(),這是去掉左右空格的內(nèi)置函數(shù),也是str的方法。按照一貫制的對稱法則,對list也會有一些操作方法。

追加元素

            
>>> a = ["good","python","I"]   
>>> a
['good', 'python', 'I']
>>> a.append("like")    #向list中添加str類型"like"
>>> a
['good', 'python', 'I', 'like']
>>> a.append(100)      #向list中添加int類型100
>>> a
['good', 'python', 'I', 'like', 100]

          

官方文檔這樣描述list.append()方法

            
list.append(x)
Add an item to the end of the list; equivalent to a[len(a):] = [x].

          

從以上描述中,以及本部分的標(biāo)題“追加元素”,是不是能夠理解list.append(x)的含義呢?即將新的元素x追加到list的尾部。

列位看官,如果您注意看上面官方文檔中的那句話,應(yīng)該注意到,還有后面半句: equivalent to a[len(a):] = [x],意思是說list.append(x)等效于:a[len(a):]=[x]。這也相當(dāng)于告訴我們了另外一種追加元素的方法,并且兩種方法等效。

            
>>> a
['good', 'python', 'I', 'like', 100]
>>> a[len(a):]=[3]   #len(a),即得到list的長度,這個長度是指list中的元素個數(shù)。
>>> a
['good', 'python', 'I', 'like', 100, 3]
>>> len(a)
6
>>> a[6:]=['xxoo']
>>> a
['good', 'python', 'I', 'like', 100, 3, 'xxoo']

          

順便說一下len(),這個是用來獲取list,str等類型的數(shù)據(jù)長度的。在字符串講解的時候也提到了。

            
>>> name = 'yeashape'
>>> len(name)    #str的長度,是字符的個數(shù)
8
>>> a=[1,2,'a','b'] #list的長度,是元素的個數(shù)
>>> len(a)
4
>>> b=['yeashape']  
>>> len(b)
1

          

下一講繼續(xù)list,有容乃大。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 湟源县| 平顶山市| 清苑县| 潼南县| 句容市| 抚州市| 宁陵县| 元氏县| 巫山县| 杭锦后旗| 革吉县| 襄城县| 哈巴河县| 遂宁市| 商洛市| 平果县| 武山县| 余姚市| 沙洋县| 齐齐哈尔市| 洪洞县| 兴宁市| 西乌珠穆沁旗| 安吉县| 阳春市| 武冈市| 南木林县| 库伦旗| 肇东市| 安塞县| 独山县| 大足县| 闸北区| 新余市| 长宁区| 定日县| 舒城县| 镶黄旗| 治县。| 阿瓦提县| 左贡县|