<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        python中l(wèi)ist列表的高級函數(shù)

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:36:52
        文檔

        python中l(wèi)ist列表的高級函數(shù)

        python中l(wèi)ist列表的高級函數(shù):在Python所有的數(shù)據(jù)結(jié)構(gòu)中,list具有重要地位,并且非常的方便,這篇文章主要是講解list列表的高級應(yīng)用,基礎(chǔ)知識可以查看博客。 此文章為python英文文檔的翻譯版本,你也可以查看英文版:https://docs.python.org/2/tutorial/datastr
        推薦度:
        導(dǎo)讀python中l(wèi)ist列表的高級函數(shù):在Python所有的數(shù)據(jù)結(jié)構(gòu)中,list具有重要地位,并且非常的方便,這篇文章主要是講解list列表的高級應(yīng)用,基礎(chǔ)知識可以查看博客。 此文章為python英文文檔的翻譯版本,你也可以查看英文版:https://docs.python.org/2/tutorial/datastr

        在Python所有的數(shù)據(jù)結(jié)構(gòu)中,list具有重要地位,并且非常的方便,這篇文章主要是講解list列表的高級應(yīng)用,基礎(chǔ)知識可以查看博客。
        此文章為python英文文檔的翻譯版本,你也可以查看英文版:https://docs.python.org/2/tutorial/datastructures.html

        use a list as a stack: #像棧一樣使用列表

        stack = [3, 4, 5] 
        stack.append(6) 
        stack.append(7) 
        stack 
        [3, 4, 5, 6, 7] 
        stack.pop() #刪除最后一個對象 
        7 
        stack 
        [3, 4, 5, 6] 
        stack.pop() 
        6 
        stack.pop() 
        5 
        stack 
        [3, 4]
        

        use a list as a queue: #像隊列一樣使用列表

        > from collections import deque #這里需要使用模塊deque 
        > queue = deque(["Eric", "John", "Michael"])
        > queue.append("Terry") # Terry arrives
        > queue.append("Graham") # Graham arrives
        > queue.popleft() # The first to arrive now leaves
        'Eric'
        > queue.popleft() # The second to arrive now leaves
        'John'
        > queue # Remaining queue in order of arrival
        deque(['Michael', 'Terry', 'Graham'])
        
        

        three built-in functions: 三個重要的內(nèi)建函數(shù)

        filter(), map(), and reduce().
        1)、filter(function, sequence)::
        按照function函數(shù)的規(guī)則在列表sequence中篩選數(shù)據(jù)

        > def f(x): return x % 3 == 0 or x % 5 == 0
        ... #f函數(shù)為定義整數(shù)對象x,x性質(zhì)為是3或5的倍數(shù)
        > filter(f, range(2, 25)) #篩選
        [3, 5, 6, 9, 10, 12, 15, 18, 20, 21, 24]
        
        

        2)、map(function, sequence):
        map函數(shù)實現(xiàn)按照function函數(shù)的規(guī)則對列表sequence做同樣的處理,
        這里sequence不局限于列表,元組同樣也可。

        > def cube(x): return x*x*x #這里是立方計算 還可以使用 x**3的方法
        ...
        > map(cube, range(1, 11)) #對列表的每個對象進行立方計算
        [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
        
        

        注意:這里的參數(shù)列表不是固定不變的,主要看自定義函數(shù)的參數(shù)個數(shù),map函數(shù)可以變形為:def func(x,y) map(func,sequence1,sequence2) 舉例:

         seq = range(8) #定義一個列表
        > def add(x, y): return x+y #自定義函數(shù),有兩個形參
        ...
        > map(add, seq, seq) #使用map函數(shù),后兩個參數(shù)為函數(shù)add對應(yīng)的操作數(shù),如果列表長度不一致會出現(xiàn)錯誤
        [0, 2, 4, 6, 8, 10, 12, 14]

        3)、reduce(function, sequence):
        reduce函數(shù)功能是將sequence中數(shù)據(jù),按照function函數(shù)操作,如 將列表第一個數(shù)與第二個數(shù)進行function操作,得到的結(jié)果和列表中下一個數(shù)據(jù)進行function操作,一直循環(huán)下去…
        舉例:

        def add(x,y): return x+y
        ...
        reduce(add, range(1, 11))
        55
        
        

        List comprehensions:
        這里將介紹列表的幾個應(yīng)用:
        squares = [x**2 for x in range(10)]
        #生成一個列表,列表是由列表range(10)生成的列表經(jīng)過平方計算后的結(jié)果。
        [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
        #[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)] 這里是生成了一個列表,列表的每一項為元組,每個元組是由x和y組成,x是由列表[1,2,3]提供,y來源于[3,1,4],并且滿足法則x!=y。

        Nested List Comprehensions:
        這里比較難翻譯,就舉例說明一下吧:

        matrix = [ #此處定義一個矩陣
        ... [1, 2, 3, 4],
        ... [5, 6, 7, 8],
        ... [9, 10, 11, 12],
        ... ]
        [[row[i] for row in matrix] for i in range(4)]
        #[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
        
        

        這里兩層嵌套比較麻煩,簡單講解一下:對矩陣matrix,for row in matrix來取出矩陣的每一行,row[i]為取出每行列表中的第i個(下標(biāo)),生成一個列表,然后i又是來源于for i in range(4) 這樣就生成了一個列表的列表。

        The del statement:
        刪除列表指定數(shù)據(jù),舉例:

        > a = [-1, 1, 66.25, 333, 333, 1234.5]
        >del a[0] #刪除下標(biāo)為0的元素
        >a
        [1, 66.25, 333, 333, 1234.5]
        >del a[2:4] #從列表中刪除下標(biāo)為2,3的元素
        >a
        [1, 66.25, 1234.5]
        >del a[:] #全部刪除 效果同 del a
        >a
        []
        
        

        Sets: 集合

        > basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
        >>> fruit = set(basket) # create a set without duplicates
        >>> fruit
        set(['orange', 'pear', 'apple', 'banana'])
        >>> 'orange' in fruit # fast membership testing
        True
        >>> 'crabgrass' in fruit
        False
        
        >>> # Demonstrate set operations on unique letters from two words
        ...
        >>> a = set('abracadabra')
        >>> b = set('alacazam')
        >>> a # unique letters in a
        set(['a', 'r', 'b', 'c', 'd'])
        >>> a - b # letters in a but not in b
        set(['r', 'd', 'b'])
        >>> a | b # letters in either a or b
        set(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])
        >>> a & b # letters in both a and b
        set(['a', 'c'])
        >>> a ^ b # letters in a or b but not both
        set(['r', 'd', 'b', 'm', 'z', 'l'])
        
        

        Dictionaries:字典

        >>> tel = {'jack': 4098, 'sape': 4139}
        >>> tel['guido'] = 4127 #相當(dāng)于向字典中添加數(shù)據(jù)
        >>> tel
        {'sape': 4139, 'guido': 4127, 'jack': 4098}
        >>> tel['jack'] #取數(shù)據(jù)
        4098
        >>> del tel['sape'] #刪除數(shù)據(jù)
        >>> tel['irv'] = 4127 #修改數(shù)據(jù)
        >>> tel
        {'guido': 4127, 'irv': 4127, 'jack': 4098}
        >>> tel.keys() #取字典的所有key值
        ['guido', 'irv', 'jack']
        >>> 'guido' in tel #判斷元素的key是否在字典中
        True
        >>> tel.get('irv') #取數(shù)據(jù)
        4127
        
        

        也可以使用規(guī)則生成字典:

        >>> {x: x**2 for x in (2, 4, 6)}
        {2: 4, 4: 16, 6: 36}

        enumerate():遍歷元素及下標(biāo)
        enumerate 函數(shù)用于遍歷序列中的元素以及它們的下標(biāo):

        >>> for i, v in enumerate(['tic', 'tac', 'toe']):
        ... print i, v
        ...
        0 tic
        1 tac
        2 toe

        zip():
        zip()是Python的一個內(nèi)建函數(shù),它接受一系列可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個tuple(元組),然后返回由這些tuples組成的list(列表)。若傳入?yún)?shù)的長度不等,則返回list的長度和參數(shù)中長度最短的對象相同。利用*號操作符,可以將list unzip(解壓)。

        >>> questions = ['name', 'quest', 'favorite color']
        >>> answers = ['lancelot', 'the holy grail', 'blue']
        >>> for q, a in zip(questions, answers):
        ... print 'What is your {0}? It is {1}.'.format(q, a)
        ...
        What is your name? It is lancelot.
        What is your quest? It is the holy grail.
        What is your favorite color? It is blue.
        
        

        有關(guān)zip舉一個簡單點兒的例子:

        >>> a = [1,2,3]
        >>> b = [4,5,6]
        >>> c = [4,5,6,7,8]
        >>> zipped = zip(a,b)
        [(1, 4), (2, 5), (3, 6)]
        >>> zip(a,c)
        [(1, 4), (2, 5), (3, 6)]
        >>> zip(*zipped)
        [(1, 2, 3), (4, 5, 6)]

        reversed():反轉(zhuǎn)

        >>> for i in reversed(xrange(1,10,2)):
        ... print i
        ...
        
        

        sorted(): 排序

        > basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
        > for f in sorted(set(basket)): #這里使用了set函數(shù)
        ... print f
        ...
        apple
        banana
        orange
        pear

        python的set和其他語言類似, 是一個 基本功能包括關(guān)系測試和消除重復(fù)元素.

        To change a sequence you are iterating over while inside the loop (for example to duplicate certain items), it is recommended that you first make a copy. Looping over a sequence does not implicitly make a copy. The slice notation makes this especially convenient:

        >>> words = ['cat', 'window', 'defenestrate']
        >>> for w in words[:]: # Loop over a slice copy of the entire list.
        ... if len(w) > 6:
        ... words.insert(0, w)
        ...
        >>> words
        ['defenestrate', 'cat', 'window', 'defenestrate']
        

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        python中l(wèi)ist列表的高級函數(shù)

        python中l(wèi)ist列表的高級函數(shù):在Python所有的數(shù)據(jù)結(jié)構(gòu)中,list具有重要地位,并且非常的方便,這篇文章主要是講解list列表的高級應(yīng)用,基礎(chǔ)知識可以查看博客。 此文章為python英文文檔的翻譯版本,你也可以查看英文版:https://docs.python.org/2/tutorial/datastr
        推薦度:
        標(biāo)簽: 列表 函數(shù) python
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产成人亚洲精品狼色在线| 亚洲精品午夜无码电影网| 成人免费a级毛片| 女人18特级一级毛片免费视频| 免费av欧美国产在钱| 91亚洲性爱在线视频| 亚洲精品一卡2卡3卡四卡乱码| 一级做a免费视频观看网站| 99re6热视频精品免费观看| 思思99re66在线精品免费观看| 亚洲 欧洲 自拍 另类 校园| 久久久久久久久久免免费精品| 毛片基地免费视频a| 日韩亚洲产在线观看| 成人男女网18免费视频| 亚洲av无码不卡一区二区三区| 国产精品亚洲专区在线播放| 午夜精品射精入后重之免费观看| 四虎永久成人免费| 亚洲 欧洲 日韩 综合在线| 久久不见久久见免费影院| 亚洲成在人线aⅴ免费毛片| 99免费视频观看| 亚洲天堂免费在线| 久久国内免费视频| 亚洲国产精品无码中文字| 男女污污污超污视频免费在线看| 18禁无遮挡无码国产免费网站| 亚洲国产精品尤物YW在线观看| 亚洲色偷偷色噜噜狠狠99网| 最近2019年免费中文字幕高清| 亚洲精品国产高清不卡在线| 国产精品无码亚洲精品2021| 天天天欲色欲色WWW免费| 女人裸身j部免费视频无遮挡| 日本亚洲视频在线| 24小时免费直播在线观看| 一级一级一片免费高清| 亚洲精品中文字幕无乱码| 四虎影视在线影院在线观看免费视频 | 99热在线免费观看|