<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)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

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

        來源:懂視網(wǎng) 責(zé)編:小OO 時(shí)間:2020-11-27 14:26:09
        文檔

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

        use a list as a stack: #像棧一樣使用列表。stack = [3.4.5] stack.append(6) stack.append(7) stack [3.4.5.6.7] stack.pop() #刪除最后一個(gè)對(duì)象 7 stack [3.4.5.6] stack.pop() 6 stack.pop() 5 stack [3.4]。use a list as a queue: #像隊(duì)列一樣使用列表。
        推薦度:
        導(dǎo)讀use a list as a stack: #像棧一樣使用列表。stack = [3.4.5] stack.append(6) stack.append(7) stack [3.4.5.6.7] stack.pop() #刪除最后一個(gè)對(duì)象 7 stack [3.4.5.6] stack.pop() 6 stack.pop() 5 stack [3.4]。use a list as a queue: #像隊(duì)列一樣使用列表。

        這篇文章主要為大家詳細(xì)介紹了python中l(wèi)ist列表的高級(jí)函數(shù),感興趣的小伙伴們可以參考一下

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

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

        use a list as a queue: #像隊(duì)列一樣使用列表

        > 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: 三個(gè)重要的內(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ù)對(duì)象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ù)實(shí)現(xiàn)按照function函數(shù)的規(guī)則對(duì)列表sequence做同樣的處理,
        這里sequence不局限于列表,元組同樣也可。

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

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

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

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

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

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

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

        matrix = [ #此處定義一個(gè)矩陣
        ... [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]]

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

        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的一個(gè)內(nèi)建函數(shù),它接受一系列可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)tuple(元組),然后返回由這些tuples組成的list(列表)。若傳入?yún)?shù)的長度不等,則返回list的長度和參數(shù)中長度最短的對(duì)象相同。利用*號(hào)操作符,可以將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舉一個(gè)簡單點(diǎn)兒的例子:

        >>> 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和其他語言類似, 是一個(gè) 基本功能包括關(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)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        use a list as a stack: #像棧一樣使用列表。stack = [3.4.5] stack.append(6) stack.append(7) stack [3.4.5.6.7] stack.pop() #刪除最后一個(gè)對(duì)象 7 stack [3.4.5.6] stack.pop() 6 stack.pop() 5 stack [3.4]。use a list as a queue: #像隊(duì)列一樣使用列表。
        推薦度:
        標(biāo)簽: 列表 函數(shù) python
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品一二三区| 亚洲色图.com| 国产亚洲精品免费| 国产黄色片在线免费观看| 亚洲精品国产国语| 色播在线永久免费视频| 亚洲人成人伊人成综合网无码| 成人免费a级毛片| 亚洲最大的成人网站| 毛片a级毛片免费播放下载| 麻豆狠色伊人亚洲综合网站| 国产卡一卡二卡三免费入口| 亚洲最大av资源站无码av网址| 成人毛片免费网站| 色噜噜噜噜亚洲第一| 亚洲另类少妇17p| 中国一级特黄高清免费的大片中国一级黄色片| 国产亚洲精品成人AA片新蒲金 | 一个人免费高清在线观看| 亚洲熟妇av一区| 成全视频免费高清| 色费女人18女人毛片免费视频| 亚洲成人国产精品| 免费人成激情视频在线观看冫 | 亚洲制服丝袜第一页| 麻豆国产入口在线观看免费| 黄页网址大全免费观看12网站| 国产亚洲人成网站在线观看| 久9这里精品免费视频| 天堂亚洲国产中文在线| 免费人成视网站在线观看不卡| 国产高潮流白浆喷水免费A片 | 亚洲国产高清在线| 成人毛片18女人毛片免费| selaoban在线视频免费精品| 亚洲综合色丁香麻豆| 免费一级毛片一级毛片aa| 免费人成毛片动漫在线播放 | 亚洲精品乱码久久久久久下载| 精品国产免费一区二区| 中国性猛交xxxxx免费看|