<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          25個好用到爆的一行Python代碼,建議收藏

          共 4405字,需瀏覽 9分鐘

           ·

          2021-12-28 13:04


          大家好,我是欣一

          在學(xué)習(xí)Python的過程當(dāng)中,有很多復(fù)雜的任務(wù)其實只需要一行代碼就可以解決,那么今天小編我就來給大家介紹20個實用的一行Python代碼,希望對大家能夠有所幫助。

          1.兩個字典的合并

          x?=?{'a':?1,?'b':?2}
          y?=?{'c':?3,?'d':?4}

          將兩個字典合并起來,代碼如下

          x.update(y)
          print(x)

          output

          {'a':?1,?'b':?2,?'c':?3,?'d':?4}

          2.兩個列表的合并

          x?=?['a',?'b']
          y?=?['c',?'d',?'e']

          將上面兩個列表合并起來,代碼如下

          x.extend(y)
          print(x)

          output

          ['a',?'b',?'c',?'d',?'e']
          當(dāng)然除此之外,我們還有其他的方法來將兩個列表合并起來,例如
          x?+=?y
          print(x)

          output

          ['a',?'b',?'c',?'d',?'e']

          3.計算列表中元素出現(xiàn)的頻率

          主要是通過調(diào)用python當(dāng)中的collections模塊來實現(xiàn),例如
          from?collections?import?Counter
          my_list?=?['a',?'b',?'b',?'a',?'a',?'a',?'c',?'c',?'b',?'d']
          print(Counter(my_list).most_common())

          output

          [('a',?4),?('b',?3),?('c',?2),?('d',?1)]
          若是我們想要出現(xiàn)頻率最多的一個,也就是在上面代碼的基礎(chǔ)之上添加篩選第一個元素的操作即可
          print(Counter(my_list).most_common()[0])

          output

          ('a',?4)
          出現(xiàn)頻率最多的是元素a,總共出現(xiàn)了4次

          當(dāng)然要是在后面再添加一個[0],意思就是篩選出出現(xiàn)頻率最多的元素

          print(Counter(my_list).most_common()[0][0])

          output

          a

          4.計算獲得除法中的商和余數(shù)

          一般我們?nèi)粝肴〉贸ó?dāng)中的商和余數(shù),一般是Python運算符號當(dāng)中的///,而divmod方法則可以讓我們同時獲得除法運算當(dāng)中的商和余數(shù),代碼如下
          quotient,?remainder?=?divmod(37,?5)
          print(quotient,?remainder)

          output

          7?2

          5.計算得到列表當(dāng)中長度最長的字符串

          words?=?['Python',?'is',?'awesome']
          print(max(words,?key=len))

          output

          awesome

          6.將列表中的順序倒轉(zhuǎn)

          words?=?['Python',?'is',?'awesome']
          reverse_words?=?words[::-1]
          print(reverse_words)

          output

          ['awesome',?'is',?'Python']

          7.文件的讀與寫

          我們先將數(shù)據(jù)寫入到文件當(dāng)中

          data?=?'Python?is?awesome'
          with?open('file.txt',?'a',?newline='\n')?as?f:?f.write(data)

          那我們從剛生成的文件當(dāng)中讀取剛寫入的數(shù)據(jù),代碼就是這么來寫

          data?=?[line.strip()?for?line?in?open("file.txt")]
          print(data)

          output

          ['Python?is?awesome']

          8.將字典當(dāng)中的鍵值對位置調(diào)換

          staff?=?{'Data?Scientist':?'Mike',?'Django?Developer':?'Dylan'}
          staff?=?{i:j?for?j,?i?in?staff.items()}
          print(staff)

          output

          {'Mike':?'Data?Scientist',?'Dylan':?'Django?Developer'}

          9.將嵌套列表合并為一個列表

          假設(shè)我們有這樣的一個列表

          l?=?[[1,?2,?3],?[4,?5],?[6],?[7,?8],?[9]]

          而我們最終希望列表能夠是

          [1,?2,?3,?4,?5,?6,?7,?8,?9]

          我們可以這么來做

          flattened_list?=?[item?for?sublist?in?l?for?item?in?sublist
          print(flattened_list)

          output

          [1,?2,?3,?4,?5,?6,?7,?8,?9]

          10.列表當(dāng)中數(shù)據(jù)類型的轉(zhuǎn)換

          例如有下面的列表

          ['1',?'2',?'3']

          我們要將其轉(zhuǎn)換成整數(shù)類型,代碼如下

          print(list(map(int,?['1',?'2',?'3'])))

          output

          [1,?2,?3]
          當(dāng)然我們也可以將可以嘗試轉(zhuǎn)換成浮點數(shù)的類型,代碼如下
          print(list(map(float,?['1',?2,?'3.0',?4.0,?'5',?6])))

          output

          [1.0,?2.0,?3.0,?4.0,?5.0,?6.0]

          11.將列表轉(zhuǎn)化成字典

          cars?=?['Audi',?'BMW',?'Ford',?'Tesla',?'Volvo']
          cars_dict?=?dict(enumerate(cars))
          print(cars_dict)

          output

          {0:?'Audi',?1:?'BMW',?2:?'Ford',?3:?'Tesla',?4:?'Volvo'}

          12.將列表當(dāng)中的重復(fù)元素去除

          list(set(['a',?'a',?'b',?'a',?'c']))

          output

          ['a',?'b',?'c']

          13.從列表中篩選出特定元素

          cars?=?['Audi',?'BMW',?'Ford',?'Tesla',?'Volvo']
          car_1?=?[car?for?car?in?cars?if?car[0]?==?"A"]
          print(car_1)

          output

          ['Audi']
          當(dāng)然我們還可以通過調(diào)用Python當(dāng)中的filter方法來實現(xiàn),代碼如下
          car_1?=?list(filter(lambda?c:?c[0]?==?'A',?cars))

          得到的結(jié)果也和上述的一樣

          14.列表中的元素排序

          numbers?=?[55,?-30,?28,?-36,?48,?20]
          numbers.sort()
          print(numbers)

          output

          [-36,?-30,?20,?28,?48,?55]
          當(dāng)然我們也可以從大到小,這樣的方式來排序,代碼如下
          numbers.sort(reverse=True)
          numbers

          output

          [55,?48,?28,?20,?-30,?-36]
          而對于字符串而言,我們可以根據(jù)首字母的字母表順序來排序
          cars?=?['Ford',?'Tesla',?'BMW',?'Volvo',?'Audi']
          cars.sort()
          print(cars)

          output

          ['Audi',?'BMW',?'Ford',?'Tesla',?'Volvo']

          15.合并集合

          set1?=?{"1",?"2",?"5"}
          set2?=?{"4",?"6",?"7"}

          set1.update(set2)
          print(set1)

          output

          {'7',?'6',?'5',?'2',?'1',?'4'}

          16. 根據(jù)鍵來對字典進行排序

          d?=?{'one':?1,?'three':?4,?'five':?8,?'six':?10}
          result?=?{key:?d[key]?for?key?in?sorted(d.keys())}
          print(result)

          output

          {'five':?8,?'one':?1,?'six':?10,?'three':?4}

          17. 根據(jù)鍵值來對字典進行排序

          d?=?{'one':?15,?'three':?12,?'five':?8,?'six':?30}
          result?=?{key:?value?for?key,?value?in?sorted(d.items(),?key=lambda?item:?item[1])}
          print(result)

          output

          {'five':?8,?'three':?12,?'one':?15,?'six':?30}

          18. 替換字符串

          "Python?is?a?programming?language.?Python?is?awesome".replace("Python",'Java')

          output

          Java?is?a?programming?language.?Java?is?awesome

          19. 計算指定字符串出現(xiàn)的次數(shù)

          a?=?'python?is?a?programming?language.?python?is?python.'
          result?=?a.count('python')
          print(result)

          output

          3

          20. 將自定義方法作用在列表中的每個元素

          from?functools?import?reduce

          reduce(lambda?x,?y:?x*y,?[2,?2,?3,?4])

          output

          48

          21. 找到最大的那個數(shù)

          find_max?=?lambda?x,y:?x?if?x?>?y?else?y
          result?=?find_max(5,20)

          output

          20

          22. 將矩陣轉(zhuǎn)置

          a?=?[[1,?2,?3],
          ?????[4,?5,?6],
          ?????[7,?8,?9]]

          transposed?=?[list(i)?for?i?in?zip(*a)]
          print(transposed)

          output

          [[1,?4,?7],?[2,?5,?8],?[3,?6,?9]]

          23. 生成斐波納契數(shù)列

          斐波納契數(shù)列指的是列表當(dāng)中元素的值是由前兩個元素的值的總和而來的,例如像是1, 1, 2, 3, 5, 8,13,要生成它的代碼如下
          fibo?=?[0,?1]
          [fibo.append(fibo[-2]+fibo[-1])?for?i?in?range(10)]
          print(fibo)

          output

          [0,?1,?1,?2,?3,?5,?8,?13,?21,?34,?55,?89]

          24. 刪除列表中的多個元素

          mylist?=?[100,?200,?300,?400,?500]
          del?mylist[:3]
          print(mylist)

          output

          [400,?500]

          25. 多個if-else組合

          目標(biāo)是將下面多個if-else的組合,寫在一行上面

          x?=?200

          if?x?????print("小于20")
          elif?x?==?200:
          ????print("等于200")
          else:
          ????print("大于20且不等于200")

          我們也可以將多個if-else組合放在一行上面寫

          x?=?200
          print("小于20")?if?x?else?print("等于200")?if?x?==?200?else?print("大于20且不等于200")

          各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)

          推薦閱讀


          牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

          牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長文系列第②篇)

          牛逼!Python函數(shù)和文件操作(長文系列第③篇)

          牛逼!Python錯誤、異常和模塊(長文系列第④篇)


          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中国的19岁的毛片 | 美女扒开尿口让男人捅爽 | 日本黄色成熟视频 | 操穴av| 亚洲欧美在线观看久99一区 |