欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2014年09月15日 11:43:09   投稿:hebedich  
上一篇文章中,我們對list的操作提到了list.append(x),也就是將某個元素x 追加到已知的一個list后邊。今天我們來繼續(xù)討論list。

對list的操作

合并list

《有容乃大的list(1)》中,對list的操作提到了list.append(x),也就是將某個元素x 追加到已知的一個list后邊。

除了將元素追加到list中,還能夠?qū)蓚€list合并,或者說將一個list追加到另外一個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)容的朋友提供一個成為優(yōu)秀程序員的必備:看官方文檔,是必須的。

官方文檔的這句話翻譯過來:

通過將所有元素追加到已知list來擴充它,相當(dāng)于a[len(a)]= L
英語太爛,翻譯太差。直接看例子,更明白

>>> la
[1, 2, 3]
>>> lb
['qiwsir', 'python']
>>> la.extend(lb)
>>> la
[1, 2, 3, 'qiwsir', 'python']
>>> lb
['qiwsir', 'python']

上面的例子,顯示了如何將兩個list,一個是la,另外一個lb,將lb追加到la的后面,也就是把lb中的所有元素加入到la中,即讓la擴容。

學(xué)程序一定要有好奇心,我在交互環(huán)境中,經(jīng)常實驗一下自己的想法,有時候是比較愚蠢的想法。

>>> 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 "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable

從上面的實驗中,看官能夠有什么心得?原來,如果extend(str)的時候,str被以字符為單位拆開,然后追加到la里面。

如果extend的對象是數(shù)值型,則報錯。

所以,extend的對象是一個list,如果是str,則python會先把它按照字符為單位轉(zhuǎn)化為list再追加到已知list。

不過,別忘記了前面官方文檔的后半句話,它的意思是:

>>> 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的長度

還記得str的長度怎么獲得嗎?其長度是什么含呢?那種方法能不能用在list上面呢?效果如何?

做實驗:

>>> name = 'qiwsir'
>>> type(name)
<type 'str'>
>>> len(name)
6
>>> lname = ['sir','qi']
>>> type(lname)
<type 'list'>
>>> len(lname)
2
>>> length = len(lname)
>>> length
2
>>> type(length)
<type 'int'>

實驗結(jié)論:

len(x),對于list一樣適用
得到的是list中元素個數(shù)
返回值是int類型
list中某元素的個數(shù)

上面的len(L),可得到list的長度,也就是list中有多少個元素。python的list還有一個操作,就是數(shù)一數(shù)某個元素在該list中出現(xiàn)多少次,也就是某個元素有多少個。官方文檔是這么說的:

list.count(x)
Return the number of times x appears in the list.
一定要不斷實驗,才能理解文檔中精煉的表達。

>>> 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中沒有5,但是如果用這種方法找,不報錯,返回的是數(shù)字0
0

元素在list中的位置

《有容乃大的list(1)》中已經(jīng)提到,可以將list中的元素,從左向右依次從0開始編號,建立索引(如果從右向左,就從-1開始依次編號),通過索引能夠提取出某個元素,或者某幾個元素。就是如這樣做:

>>> 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']

如果考慮反過來的情況,能不能通過某個元素,找到它在list中的編號呢?

看官的需要就是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')   #如果不存在,就報錯
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ValueError: 'qi' is not in list
>>> la.index('qiwsir')
6

list.index(x),x是list中的一個元素,這樣就能夠檢索到該元素在list中的位置了。這才是真正的索引,注意那個英文單詞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.
是不是說的非常清楚明白了?

先到這里,下講還繼續(xù)有容乃大的list.

相關(guān)文章

  • Python數(shù)據(jù)獲取實現(xiàn)圖片數(shù)據(jù)提取

    Python數(shù)據(jù)獲取實現(xiàn)圖片數(shù)據(jù)提取

    本文主要介紹了Python數(shù)據(jù)獲取實現(xiàn)圖片數(shù)據(jù)提取,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 詳解如何在Apache中運行Python WSGI應(yīng)用

    詳解如何在Apache中運行Python WSGI應(yīng)用

    在生產(chǎn)環(huán)境上,一般會使用比較健壯的Web服務(wù)器,如Apache來運行我們的應(yīng)用,本文中我們就會介紹如何使用Apache模塊mod_wsgi來運行Python WSGI應(yīng)用。感興趣的小伙伴們可以參考一下
    2019-01-01
  • 使用spyder3調(diào)試python程序的實現(xiàn)步驟

    使用spyder3調(diào)試python程序的實現(xiàn)步驟

    本文主要介紹了使用spyder3調(diào)試python程序的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • python之django母板頁面的使用

    python之django母板頁面的使用

    這篇文章主要介紹了python之django母板頁面的使用,母版頁用于處理html頁面相同部分內(nèi)容,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python使用os模塊和fileinput模塊來操作文件目錄

    Python使用os模塊和fileinput模塊來操作文件目錄

    這篇文章主要介紹了Python編程中使用os模塊和fileinput模塊來操作文件的方法,包括獲取路徑和創(chuàng)建愛你刪除目錄等基本操作的例子,需要的朋友可以參考下
    2016-01-01
  • Python的logging.config模塊操作步驟

    Python的logging.config模塊操作步驟

    這篇文章主要介紹了Python的logging.config模塊操作步驟,本文通過示例代碼給大家介紹的非常詳細對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Python常用的模塊和簡單用法

    Python常用的模塊和簡單用法

    這篇文章主要給大家介紹Python#常用的模塊和簡單用法,以random 隨機模塊展開話題,感興趣的小伙伴可以參考一下
    2021-10-10
  • Python?設(shè)計模式創(chuàng)建型單例模式

    Python?設(shè)計模式創(chuàng)建型單例模式

    這篇文章主要介紹了Python?設(shè)計模式創(chuàng)建型單例模式,即Singleton,單例是一種設(shè)計模式,應(yīng)用該模式的類只會生成一個實例,下文詳細介紹需要的小伙伴可以參考一下
    2022-02-02
  • python3獲取兩個日期之間所有日期,以及比較大小的實例

    python3獲取兩個日期之間所有日期,以及比較大小的實例

    下面小編就為大家分享一篇python3獲取兩個日期之間所有日期,以及比較大小的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python入門教程(三十五)Python中文件的打開

    Python入門教程(三十五)Python中文件的打開

    這篇文章主要介紹了Python入門教程(三十五)Python中文件的打開,在Python中文件的讀取主要是用open()函數(shù),那么open()函數(shù)有哪些方法呢,今天我們就來看一看,需要的朋友可以參考下
    2023-05-05

最新評論