摘要:對(duì)的操作合并有容乃大的中,對(duì)的操作提到了,也就是將某個(gè)元素追加到已知的一個(gè)后邊。如果的對(duì)象是數(shù)值型,則報(bào)錯(cuò)。依然是上一條官方解釋是不是說(shuō)的非常清楚明白了先到這里,下講還繼續(xù)有容乃大的
對(duì)list的操作 合并list
《有容乃大的list(1)》中,對(duì)list的操作提到了list.append(x),也就是將某個(gè)元素x 追加到已知的一個(gè)list后邊。
除了將元素追加到list中,還能夠?qū)蓚€(gè)list合并,或者說(shuō)將一個(gè)list追加到另外一個(gè)list中。按照前文的慣例,還是首先看官方文檔中的描述:
list.extend(L)
Extend the list by appending all the items in the given list; equivalent to a[len(a):] = L.
向所有正在學(xué)習(xí)本內(nèi)容的朋友提供一個(gè)成為優(yōu)秀程序員的必備:看官方文檔,是必須的。
官方文檔的這句話翻譯過(guò)來(lái):
通過(guò)將所有元素追加到已知list來(lái)擴(kuò)充它,相當(dāng)于a[len(a)]= L
英語(yǔ)太爛,翻譯太差。直接看例子,更明白
>>> la [1, 2, 3] >>> lb ["qiwsir", "python"] >>> la.extend(lb) >>> la [1, 2, 3, "qiwsir", "python"] >>> lb ["qiwsir", "python"]
上面的例子,顯示了如何將兩個(gè)list,一個(gè)是la,另外一個(gè)lb,將lb追加到la的后面,也就是把lb中的所有元素加入到la中,即讓la擴(kuò)容。
學(xué)程序一定要有好奇心,我在交互環(huán)境中,經(jīng)常實(shí)驗(yàn)一下自己的想法,有時(shí)候是比較愚蠢的想法。
>>> la = [1,2,3] >>> b = "abc" >>> la.extend(b) >>> la [1, 2, 3, "a", "b", "c"] >>> c = 5 >>> la.extend(c) Traceback (most recent call last): File "", line 1, in TypeError: "int" object is not iterable
從上面的實(shí)驗(yàn)中,看官能夠有什么心得?原來(lái),如果extend(str)的時(shí)候,str被以字符為單位拆開(kāi),然后追加到la里面。
如果extend的對(duì)象是數(shù)值型,則報(bào)錯(cuò)。
所以,extend的對(duì)象是一個(gè)list,如果是str,則python會(huì)先把它按照字符為單位轉(zhuǎn)化為list再追加到已知list。
不過(guò),別忘記了前面官方文檔的后半句話,它的意思是:
>>> la [1, 2, 3, "a", "b", "c"] >>> lb ["qiwsir", "python"] >>> la[len(la):]=lb >>> la [1, 2, 3, "a", "b", "c", "qiwsir", "python"]
list.extend(L) 等效于 list[len(list):] = L,L是待并入的list
list的長(zhǎng)度還記得str的長(zhǎng)度怎么獲得嗎?其長(zhǎng)度是什么含呢?那種方法能不能用在list上面呢?效果如何?
做實(shí)驗(yàn):
>>> name = "qiwsir" >>> type(name)>>> len(name) 6 >>> lname = ["sir","qi"] >>> type(lname) >>> len(lname) 2 >>> length = len(lname) >>> length 2 >>> type(length)
實(shí)驗(yàn)結(jié)論:
len(x),對(duì)于list一樣適用
得到的是list中元素個(gè)數(shù)
返回值是int類型
list中某元素的個(gè)數(shù)上面的len(L),可得到list的長(zhǎng)度,也就是list中有多少個(gè)元素。python的list還有一個(gè)操作,就是數(shù)一數(shù)某個(gè)元素在該list中出現(xiàn)多少次,也就是某個(gè)元素有多少個(gè)。官方文檔是這么說(shuō)的:
list.count(x)
Return the number of times x appears in the list.
一定要不斷實(shí)驗(yàn),才能理解文檔中精煉的表達(dá)。
>>> la = [1,2,1,1,3] >>> la.count(1) 3 >>> la.append("a") >>> la.append("a") >>> la [1, 2, 1, 1, 3, "a", "a"] >>> la.count("a") 2 >>> la.count(2) 1 >>> la.count(5) #NOTE:la中沒(méi)有5,但是如果用這種方法找,不報(bào)錯(cuò),返回的是數(shù)字0 0元素在list中的位置
《有容乃大的list(1)》中已經(jīng)提到,可以將list中的元素,從左向右依次從0開(kāi)始編號(hào),建立索引(如果從右向左,就從-1開(kāi)始依次編號(hào)),通過(guò)索引能夠提取出某個(gè)元素,或者某幾個(gè)元素。就是如這樣做:
>>> la [1, 2, 3, "a", "b", "c", "qiwsir", "python"] >>> la[2] 3 >>> la[2:5] [3, "a", "b"] >>> la[:7] [1, 2, 3, "a", "b", "c", "qiwsir"]
如果考慮反過(guò)來(lái)的情況,能不能通過(guò)某個(gè)元素,找到它在list中的編號(hào)呢?
看官的需要就是python的方向,你想到,python就做到。
>>> la [1, 2, 3, "a", "b", "c", "qiwsir", "python"] >>> la.index(3) 2 >>> la.index("a") 3 >>> la.index(1) 0 >>> la.index("qi") #如果不存在,就報(bào)錯(cuò) Traceback (most recent call last): File "", line 1, in ValueError: "qi" is not in list >>> la.index("qiwsir") 6
list.index(x),x是list中的一個(gè)元素,這樣就能夠檢索到該元素在list中的位置了。這才是真正的索引,注意那個(gè)英文單詞index。
依然是上一條官方解釋:
list.index(x)
Return the index in the list of the first item whose value is x. It is an error if there is no such item.
是不是說(shuō)的非常清楚明白了?
先到這里,下講還繼續(xù)有容乃大的list.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/45293.html
摘要:定義在中,用方括號(hào)表示一個(gè),在方括號(hào)里面,可以是,也可以是類型的數(shù)據(jù),甚至也能夠是這種布爾值。前面在對(duì)進(jìn)行操作的時(shí)候,有一些內(nèi)置函數(shù),比如,這是去掉左右空格的內(nèi)置函數(shù),也是的方法。 前面的學(xué)習(xí)中,我們已經(jīng)知道了兩種python的數(shù)據(jù)類型:int和str。再?gòu)?qiáng)調(diào)一下對(duì)數(shù)據(jù)類型的理解,這個(gè)世界是由數(shù)據(jù)組成的,數(shù)據(jù)可能是數(shù)字(注意,別搞混了,數(shù)字和數(shù)據(jù)是有區(qū)別的),也可能是文字、或者是聲音、...
摘要:要研究清楚一些函數(shù)特別是內(nèi)置函數(shù)的功能,建議看官首先要明白內(nèi)置函數(shù)名稱的含義。前面提到的內(nèi)置函數(shù)得到的結(jié)果,就是一個(gè)排好序的。至此,有關(guān)的基本操作的內(nèi)置函數(shù),就差不多了。 list的話題的確不少,而且,在編程中,用途也非常多。 有看官可能要問(wèn)了,如果要生成一個(gè)list,除了要把元素一個(gè)一個(gè)寫上之外,有沒(méi)有能夠讓計(jì)算機(jī)自己按照某個(gè)規(guī)律生成list的方法呢? 如果你提出了這個(gè)問(wèn)題,充分...
摘要:對(duì)于,就不能進(jìn)行字符的追加。與類似,也是對(duì)元素的增加。注意兩點(diǎn)如果正確刪除,不會(huì)有任何反饋。沒(méi)有消息就是好消息。是一個(gè)有意思的東西,內(nèi)涵豐富。并且可能會(huì)做一個(gè)有意思的游戲。 現(xiàn)在是講lis的第三章了。俗話說(shuō),事不過(guò)三,不知道在開(kāi)頭,我也不知道這一講是不是能夠把基礎(chǔ)的list知識(shí)講完呢。哈哈。其實(shí)如果真正寫文章,會(huì)在寫完之后把這句話刪掉的。而我則是完全像跟看官聊天一樣,就不刪除了。 繼...
摘要:不管是還是,所發(fā)起的循環(huán),在編程中是經(jīng)常被用到的。這里重點(diǎn)是復(fù)習(xí)并展示一下它的循環(huán)中,做為計(jì)數(shù)器的使用。通過(guò)上述實(shí)例,主要是讓看官理解在循環(huán)中計(jì)數(shù)器的作用。是用于并行遍歷的函數(shù)。一種方法是通過(guò)循環(huán),分別從兩個(gè)中取出元素,然后求和。 不管是while還是for,所發(fā)起的循環(huán),在python編程中是經(jīng)常被用到的。特別是for,一般認(rèn)為,它要比while快,而且也容易寫(是否容易,可能因人而...
摘要:關(guān)于元組,上一講中涉及到了這個(gè)名詞。元組是用圓括號(hào)括起來(lái)的,其中的元素之間用逗號(hào)隔開(kāi)。使用而不是如同擁有一個(gè)隱含的語(yǔ)句,說(shuō)明這一數(shù)據(jù)是常量。必須是不可變的。只有字符串整數(shù)或其它對(duì)安全的才可以用作。 關(guān)于元組,上一講中涉及到了這個(gè)名詞。本講完整地講述它。 先看一個(gè)例子: >>>#變量引用str >>> s = abc >>> s abc >>>#如果這樣寫,就會(huì)是... >>> t...
閱讀 3177·2021-11-22 15:25
閱讀 3852·2021-11-17 09:33
閱讀 3366·2021-11-08 13:15
閱讀 3048·2021-09-22 10:56
閱讀 540·2021-08-31 09:45
閱讀 2750·2019-08-30 13:49
閱讀 3078·2019-08-30 12:52
閱讀 1143·2019-08-29 17:05