<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      我寫的 Python 代碼,同事都說好

      原文鏈接: 我寫的 Python 代碼,同事都說好

      人生苦短,我用 Python。

      程序員的追求就是不寫代碼,早日財務自由。不對,一不小心把實話說出來了,應該是將代碼寫得簡潔,優雅。

      Python 程序員的追求則是 Pythonic,正好在 Python 這門語言中,「隱藏」了特別多方法,可以使代碼變得簡潔,優雅,與眾不同。

      我在這里總結了一些常用操作,特別是關于列表和字典,分享給大家。

      第一個字母大寫

      這個方法有點意思,無意中發現的。

      >>> s = "programming is awesome"
      >>> print(s.title())
      Programming Is Awesome
      

      列表合并

      第一種方式:使用 +

      >>> a + b
      [1, 2, 3, 4, 5, 6]
      

      第二種方式:使用 extend 關鍵字。

      >>> a.extend(b)
      >>> a
      [1, 2, 3, 4, 5, 6]
      

      后兩種方式明顯更加優雅,推薦使用。需要說明的一點是,如果列表很大的話,+ 會比較慢,使用 extend 更好。

      列表元素去重

      使用 set() 對列表元素進行去重。

      >>> a = [1, 2, 3, 4, 2, 3]
      >>> list(set(a))
      [1, 2, 3, 4]
      

      列表排序

      使用 sort() 或內建函數 sorted() 對列表進行排序。它們之間的區別有兩點:

      1. sort() 方法是對原列表進行操作,而 sorted() 方法會返回一個新列表,不是在原來的基礎上進行操作。
      2. sort() 是應用在列表上的方法,而 sorted() 可以對所有可迭代的對象進行排序操作。
      # sort()
      >>> a = [1, 2, 3, 4, 2, 3]
      >>> a.sort()
      >>> a
      [1, 2, 2, 3, 3, 4]
      >>>
      >>> a = [1, 2, 3, 4, 2, 3]
      >>> a.sort(reverse=True)
      >>> a
      [4, 3, 3, 2, 2, 1]
      
      # sorted()
      >>> a = [1, 2, 3, 4, 2, 3]
      >>> sorted(a)
      [1, 2, 2, 3, 3, 4]
      >>> a = [1, 2, 3, 4, 2, 3]
      >>> sorted(a, reverse=True)
      [4, 3, 3, 2, 2, 1]
      

      遍歷列表的索引和元素對

      使用 enumerate() 函數可以同時輸出索引和元素值。

      >>> a = ['python', 'go', 'java']
      >>> for i, v in enumerate(a):
      ...     print(i, v)
      
      # output
      0 python
      1 go
      2 java
      

      查找列表中出現最頻繁的元素

      使用 max() 函數可以快速查找出一個列表中出現頻率最高的某個元素。

      >>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2]
      >>> b = max(set(a), key=a.count)
      >>> b
      4
      

      需要說明的一點是,當列表中有兩個元素出現的次數相同時,會返回第一個出現的元素。

      >>> a = [1, 2]
      >>> b = max(set(a), key=a.count)
      >>> b
      1
      

      統計列表中所有元素的出現次數

      前面的代碼給出了出現最頻繁的值。如果想要知道列表中所有元素的出現次數,那么可以使用 collections 模塊。

      collections 是 Python 中的一個寶藏模塊,它提供了很多特性。Counter 方法正好可以完美解決這個需求。

      >>> from collections import Counter
      >>>
      >>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2]
      >>> Counter(a)
      Counter({4: 4, 2: 2, 3: 2, 1: 1, 5: 1})
      

      將兩個列表合并為字典

      使用 zip() 函數,可以將兩個列表合并成字典。

      >>> a = ['one', 'tow', 'three']
      >>> b = [1, 2, 3]
      >>> dict(zip(a, b))
      {'one': 1, 'tow': 2, 'three': 3}
      

      求兩個列表的交集,并集和差集

      # list_operate.py
      
      def main():
          list_a = [1, 2, 3, 4, 5]
          list_b = [4, 5, 6, 7, 8]
      
          # 求交集的兩種方式
          res_a = [i for i in list_a if i in list_b]
          res_b = list(set(list_a).intersection(set(list_b)))
      
          print(f"res_a is: {res_a}")
          print(f"res_b is: {res_b}")
      
          # 求并集
          res_c = list(set(list_a).union(set(list_b)))
          print(f"res_c is: {res_c}")
      
          # 求差集的兩種方式,在B中但不在A中
          res_d = [i for i in list_b if i not in list_a]
          res_e = list(set(list_b).difference(set(list_a)))
      
          print(f"res_d is: {res_d}")
          print(f"res_e is: {res_e}")
      
      
      if __name__ == '__main__':
          main()
      

      字典創建

      # 1、創建空字典
      a = {}
      b = dict()
      
      # 2、有初始值,從輸入的便利程度來說,我更喜歡第二種
      a = {'a': 1, 'b': 2, 'c': 3}
      b = dict(a=1, b=2, c=3)
      
      # 3、key 來自一個列表,而 value 相同, 使用 fromkeys,那是相當的優雅
      keys = ['a', 'b', 'c']
      value = 100
      d = dict.fromkeys(keys, value)
      
      # 4、key 來自一個列表,而 value 也是一個列表,使用 zip
      keys = ['a', 'b', 'c']
      values = [1, 2, 3]
      d = dict(zip(keys, values))
      

      字典合并

      m = {'a': 1}
      n = {'b': 2, 'c': 3}
      
      # 合并,兩種方式
      # 1、使用 update
      m.update(n)
      # 2、使用 **
      {**m, **n}
      

      判斷 key 是否存在

      在 Python2 中判斷某個 key 是否存在,可以使用 has_key,但這個方法在 Python3 中已經被移除了。

      另一種方法是使用 in 關鍵字,不僅兼容 Python2 和 Python3,速度還更快,強烈推薦。

      d = {'a': 1, 'b': 2}
      if 'a' in d:
          print('hello')    
      

      獲取字典中的值

      d = {'a': 1, 'b': 2}
      
      # 1、直接用 key 取值,但這種方式不好,如果 key 不存在會報錯,推薦使用 get
      a = d['a']
      
      # 2、使用 get,如果 key 不存在還可以賦默認值
      a = d.get('a')
      c = d.get('c', 3)
      

      字典遍歷

      d = {'a': 1, 'b': 2, 'c': 3}
      
      # 遍歷 key
      for key in d.keys():
          pass
      
      # 遍歷 value
      for value in d.values():
          pass
      
      # 遍歷 key 和 value
      for key, value in d.items():
          pass
      

      字典推導式

      列表推導式和字典推導式是我相當喜歡的功能,簡潔高效。mapfilter 我都已經快不會用了。

      l = [1, 2, 3]
      {n: n * n for n in l}
      {1: 1, 2: 4, 3: 9}
      

      字典按 key 或 value 排序

      d = {'a': 1, 'b': 2, 'e': 9, 'c': 5, 'd': 7}
      
      # 按 key 排序
      sorted(d.items(), key=lambda t: t[0])
      # 按 key 倒序
      sorted(d.items(), key=lambda t: t[0], reverse=True)
      
      # 按 value 排序
      sorted(d.items(), key=lambda t: t[1])
      

      還有一個需求是我在開發過程經常碰到的,就是有一個列表,列表的元素是字典,然后按字典的 value 對列表進行排序。

      l = [{'name': 'a', 'count': 4}, {'name': 'b', 'count': 1}, {'name': 'd', 'count': 2}, {'name': 'c', 'count': 6}]
      sorted(l, key=lambda e: e.__getitem__('count'))
      # 倒序
      sorted(l, key=lambda e: e.__getitem__('count'), reverse=True)
      

      以上就是本文的全部內容,如果覺得還不錯的話,歡迎點贊轉發關注,感謝支持。


      推薦閱讀:

      posted @ 2022-03-23 21:24  yongxinz  閱讀(492)  評論(0)    收藏  舉報
      主站蜘蛛池模板: jizz国产免费观看| 国产高清在线不卡一区| 午夜免费福利小电影| 天天爽夜夜爱| 真人无码作爱免费视频| 国产午夜福利视频合集| 中文字幕国产在线精品| 亚洲精品天堂一区二区| 激情伊人五月天久久综合| 少妇被日自拍黄色三级网络| 四虎国产精品永久入口| 精品亚洲精品日韩精品| 亚洲国产成人久久综合区| 97人妻精品一区二区三区| 久久国产成人精品国产成人亚洲 | 久久精品丝袜高跟鞋| 亚洲欧美日韩久久一区二区| 亚洲 校园 欧美 国产 另类| 亚洲综合精品第一页| 日本道播放一区二区三区| 四虎永久免费高清视频| 久久精品A一国产成人免费网站| 精品国产欧美一区二区五十路| 中文字幕日韩精品国产| 99RE6在线观看国产精品| 国产999久久高清免费观看| 最新国产精品亚洲| 亚洲综合色区另类av| 免费乱理伦片在线观看| 婷婷四房播播| 免费A级毛片无码A∨蜜芽试看 | 免费人成网站免费看视频| 干老熟女干老穴干老女人| 久久综合给合久久狠狠97色| 国产精品SM捆绑调教视频| 青青在线视频一区二区三区| 大陆熟妇丰满多毛xxxⅹ| 国产精品一品二区三四区| 国产一区二区精品久久呦| 久久99九九精品久久久久蜜桃| 国偷自产一区二区三区在线视频|