Python Tricks -- One-Line Code

之所以讀書、行路,就是希望我們能夠不斷地享受高級快樂

伊始

很多喜歡使用 Python,是因為它的簡便、易用且功能強大。但把python當作C來寫的人也屢見不鮮,我個人較為著迷于用一行代碼解決一些復雜的問題,可以參考我之前的文章一行有效python代碼。
當然,Python 中的大多數(shù)一行代碼都是用 map() 和列表生成式編寫的。今天,再和大家一起看幾個一行python代碼就能搞定的問題。


list中的元素類型轉換

  • Example
list(map(int, ['1', '2', '3']))
list(map(float, ['1', 2, '3.0', 4.0, '5', 6]))
  • Output

[1, 2, 3]
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]


int的位數(shù)和

  • Desc

12345 => 1+2+3+4+5 = 15

  • How
sum_of_digits  = lambda x : sum(map(int, str(x)))

print(sum_of_digits(12345))
  • Output

15


二維數(shù)組的扁平化

  • Desc

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

  • How
datas = [[1, 2, 3], [4, 5], [6], [7, 8], [9]]

flattened_list = [item for data in datas for item in data]

矩陣轉置

  • Desc

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

  • How
    結合zip使用列表生成式
A =  [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

[list(i) for i in zip(*A)]

交換dict的key和value

  • How
d = {'one':  1, 'three': 3}
staff = {i:j for j, i in d.items()}
  • Output

{1: 'one', 3: 'three'}


Not End

Have a nice day!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,338評論 0 10
  • pyton review 學習指南 https://www.zhihu.com/question/29138020...
    孫小二wuk閱讀 1,192評論 0 2
  • 在程序運行過程中,總會遇到各種各樣的錯誤。 有的錯誤是程序編寫有問題造成的,比如本來應該輸出整數(shù)結果輸出了字符串,...
    jbb_43b0閱讀 1,085評論 0 0
  • 基本語法 輸入輸出 print / input 如果字符串里面有很多字符都需要轉義,就需要加很多\,為了簡化,Py...
    bitzoo閱讀 1,738評論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,851評論 28 54

友情鏈接更多精彩內容