官术网_书友最值得收藏!

1.2.2 列表解析式

列表解析式是Python提供的一種從列表中便捷地抽取數據的方式,類似于數學上集合的表示方式。實際上,它完全可以由for循環語句代替實現,只不過會略顯煩瑣。來看一個例子,代碼如下。

    In [1]: list1 = [1, 2, 3, 4, 5]

    In [2]: l_even = [i for i in list1 if i%2 == 0]

    In [3]: l_even
    Out[3]: [2, 4]

對于l_even,完全可以通過for循環語句獲取,代碼如下。

    In [4]: l_even = []

    In [5]: for i in list1:
      ...:    if i%2 == 0:
      ...:       l_even.append(i)
      ...:

    In [6]: l_even
    Out[6]: [2, 4]

后者明顯更加麻煩一點。對于列表解析式,初學者要學會通過這種拆解的方法理解它的使用意圖。自己在工作學習中也不用刻意去追求復雜的列表解析式,熟悉之后便能運用自如了。一定注意不要為了追求所謂的簡捷而犧牲代碼的可讀性。

主站蜘蛛池模板: 竹北市| 蓬莱市| 富源县| 红桥区| 资溪县| 西充县| 皮山县| 长阳| 翼城县| 怀化市| 大竹县| 承德县| 朝阳市| 洮南市| 娄烦县| 方山县| 宜川县| 陆河县| 栾川县| 堆龙德庆县| 泰顺县| 徐汇区| 临湘市| 新密市| 溧水县| 牟定县| 衡山县| 齐河县| 手游| 托里县| 阳新县| 永泰县| 高邑县| 冕宁县| 浮山县| 峡江县| 五莲县| 衢州市| 林芝县| 中超| 江安县|