每日演算法篇-LeeCode篇
“下次再進入我的夢里,先征求一下我的意見可以嗎,我不想弄濕枕頭,在半夜,”——努力成為程式員的耿耿(2021/11/14)
題目

題目來源于Leecode
對于題目的分析講解寫在代碼的注釋里了,好好學習!
LINES = [set("qwertyuiop"), set("asdfghjkl"), set("zxcvbnm")]
def findWords(words):
ans = [word for word in words if any(set(word.lower()).issubset(LINE) for LINE in LINES)]
return ans
#回傳串列中的元素 - 串列生成式,回傳iterable中所有滿足condition(為True)的所有元素
#[x for x in iterable if condition]
#判斷條件:該元素的轉換成小寫形式,取集合,是三行中任意一行的子集
#轉成小寫: word.lower() 回傳:小寫字串
#取集合: set(word.lower()) 回傳:集合
#是子集: set(word.lower()).issubset(x) 傳入:集合 回傳:Ture/False
#是任意一行的子集: any(iterable) 傳入:T/F的可迭代物件 回傳:存在Ture就回傳True,否則回傳False
List = ["Hello", "Alaska", "Dad", "Peace"]
print(findWords(List))
其實這道題用幾個回圈可以好好做出來,這個也屬于簡單題,就是說,跟大佬學習極簡代碼,Python比起別的語言來說最大的優點就是車輪子多,更容易站在巨人的肩膀上寫語言,
我開始看看這個根本沒看懂,還能這樣寫,看來要仔細學內置庫,跟一些好用的庫,之后有時間了,會給大家推一些好用的Python庫,方便的使用我覺得是編程語言的區分,我愛Python,如果你也愛Python,可以關注我呀,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/357107.html
標籤:其他
上一篇:單鏈表的簡單思路
下一篇:資料結構——順序表的實作
