<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 列表推導式 列表推導式(又稱列表解析式),可以便捷生成指定條件的列表 格式如: ```python variable = [out_exp for out_exp in input_list if out_exp == 2] ``` out_exp:輸出表達式 指定條件,主要從 for xx in xx if xx 中產生。 加上有個列表tmp_list = [1,2,3,4,5,6],如果我們想過濾出其中大于3的元素,然后各自乘以2,生成一個新的列表,我們可以如下面這般實現: ```python tmp_list = [1, 2, 3, 4, 5, 6] alist = [x * 2 for x in tmp_list if x > 3] print(alist) ``` 代碼解釋: `[x * 2 for x in tmp_list if x > 3]` 中,x\*2 是最終的輸出表達式,其中x是后面條件表達式 `for x in tmp_list if x>3` 中符合條件的輸出值。 ## map 函數 map函數會將一個函數映射到一個輸入列表的所有元素上。 格式: ```python map(func, *iterables) ``` 假設我們需要將一個列表中的每個元素都乘以2,獲得一個新的列表,則我們可以如下面這般實現。 ```python tmp_list = [1,2,3,4,5,6] alist = list(map(lambda x:x*2,tmp_list)) print(alist) ``` 輸出結果如下: ```cmd [2, 4, 6, 8, 10, 12 ``` map函數,會逐一**將可迭代對象的每個元素作為func函數的入參**,進行計算后,返回一個map對象。 ## filter 函數 filter過濾列表中的元素,并且**返回一個由所有`符合要求`的元素所構成的列表** 格式為: ```python filter(func or None, iterable) ``` map函數,會逐一**將可迭代對象的每個元素作為func函數的入參**,進行計算后,返回一個filter對象。 假設,我們需要過濾一個列表,過濾出大于3的元素,則我們可以如下這般實現: ```python tmp_list = [1,2,3,4,5,6] alist = list(filter(lambda x:x>3,tmp_list)) print(alist) ``` 輸出結果如下: ```cmd [4, 5, 6] ``` ## sorted 函數 sorted函數 對一個可迭代的對象進行排序操作,返回一個新的列表。可以自定義排序的方法,默認是升序,但是也可以指定為降序。 格式為: ```python sorted(iterable, ,key=None, reverse=False) ``` 參數 `key`用于**指定用于比較的對象**,key函數的參數就是取自于可迭代對象(iterable)中的 **`一個`** 元素來進行排序。注意,key函數只接受一個入參。 實例一: 例如有四個學生,格式如("姓名","年齡","成績"),根據不同的條件進行排序,如下 ```python student_list = [('a',18,90),('c',20,99),('b',19,80),('d',15,100)] sort_by_age = sorted(student_list,key=lambda student:student[1]) print(sort_by_age) ``` 排序字段是student[1],也就是每個學生的第二個字段“年齡”,所以按年齡升序排列,運行結果如下: ```cmd [('d', 15, 100), ('a', 18, 90), ('b', 19, 80), ('c', 20, 99)] ``` <br> 實例二: 假設有個學生類,創建出三個學生對象,每個對象有屬性“姓名”,“年齡”,“成績”。如下 ```python class Student(object): def __init__(self, name, age, score): self.name = name self.age = int(age) self.score = float(score) s1 = Student("Milton", 31, 80) s2 = Student("Cherish", 32, 100) s3 = Student("Evan", 27, 90) ``` 如果我們想對這三個學生排序,**根據成績降序排序**,則該如何實現呢? ```python stu_list = [s1, s2, s3] sort_by_score = sorted(stu_list, key=lambda stu: stu.score,reverse=True) # sort_by_score 其實已經做好了排序,但是為了顯示直觀,下面將每個學生的姓名與成績打印出來。 print(list(map(lambda stu:(stu.name,stu.score),sort_by_score))) ``` 運行結果如下: ```cmd [('Cherish', 100.0), ('Evan', 90.0), ('Milton', 80.0)] ``` <hr style="margin-top:100px"> :-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg) ***微信掃一掃,關注“python測試開發圈”,了解更多測試教程!***
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看