數(shù)組字符串——力扣刷題之前你需要知道的

更多精彩內(nèi)容属瓣,請關(guān)注【力扣簡單題】普办。

在刷題或?qū)W習(xí)的過程中岛啸,熟練實用Python內(nèi)置函數(shù),可以幫助我們快速構(gòu)建所需功能派殷,這也是為什么很多任務(wù)對于python來說可以用一兩句話實現(xiàn)的还最,這種緊湊而高效的編碼方式值得我們深入學(xué)習(xí)以及在實際工作中廣泛應(yīng)用。

字符串常用方法

join方法

join方法可以將一個字符串列表(一個列表中所有元素均為字符串)連接起來毡惜,并用指定的分割符隔開拓轻。例如,將列表["張三", "李四", "王五"]用頓號“经伙、”連接成一個字符串:

>>> "扶叉、".join(["張三", "李四", "王五"])
>>> '張三、李四帕膜、王五'

列表推導(dǎo)式

列表推導(dǎo)式幫助我們構(gòu)建列表枣氧,只需要數(shù)組中各個元素存在一定關(guān)系。

例如泳叠,對列表[1, 2, 3, 4]中的每個元素求取平方并組成新的列表:

>>> [num * num for num in [1, 2, 3, 4]]
>>> [1, 4, 9, 16]

此外作瞄,我們還可以加入if語句對列表中的元素進行篩選,例如我們需要從0到9的所有偶數(shù):

>>> [num for num in range(10) if num % 2 == 0]
>>> [0, 2, 4, 6, 8]

這里給一個復(fù)雜一點的例子危纫,我們使用一句話構(gòu)建乘法口訣表:

>>> [' '.join(['{}*{}={}'.format(i, j, i*j) for i in range(1, j+1)]) for j in range(1, 10)]
>>> 
['1*1=1',
 '1*2=2 2*2=4',
 '1*3=3 2*3=6 3*3=9',
 '1*4=4 2*4=8 3*4=12 4*4=16',
 '1*5=5 2*5=10 3*5=15 4*5=20 5*5=25',
 '1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36',
 '1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49',
 '1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64',
 '1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81']

lambda表達式

lambda表達式可以快速構(gòu)建函數(shù)宗挥,一句話實現(xiàn),非常便捷种蝶,例如我們實現(xiàn)一個平方函數(shù)契耿,實現(xiàn)對輸入數(shù)字計算平方:

>>> square = lambda x: x*x
>>> square(5)
>>> 25

其原理與以下函數(shù)完全一致:

def square(x):
    return x*x

lambda表達式同樣支持多個輸入,例如我們構(gòu)建一個求和函數(shù)螃征,求兩個輸入數(shù)字的和:

>>> calculate_sum = lambda a, b: a+b
>>> calculate_sum(1, 2)
>>> 3

map映射

map映射將一個列表中的所有元素通過特定映射方式得到結(jié)果搪桂,并且返回結(jié)果列表,類似列表推導(dǎo)式的功能,該函數(shù)的輸入有兩個踢械,一個是映射關(guān)系酗电,也就是函數(shù),另一個是輸入列表内列,例如求取一個列表中所有數(shù)的平方撵术,除了用列表推導(dǎo)式以外,還可以這樣做:

>>> square = lambda x: x*x
>>> square_results = map(square, [1,2,3,4])
>>> list(square_results)
>>> [1, 4, 9, 16]

map結(jié)果需要轉(zhuǎn)換成list形式才可以顯示话瞧。

filter過濾器

filter過濾器可以快速過濾列表中所需要的元素嫩与,其輸入有兩個,一個是過濾條件函數(shù)交排,該函數(shù)返回值為布爾值划滋,另一個是列表,最終返回結(jié)果是列表中輸入過濾條件函數(shù)返回為True的元素埃篓,例如处坪,篩選出0到9中所有是偶數(shù)的數(shù)字組成新列表,出了使用列表推導(dǎo)式外都许,還可以這樣做:

>>> even_results = filter(lambda x: x % 2 == 0, list(range(10)))
>>> list(even_results)
>>> [0, 2, 4, 6, 8]

如有疑問或建議稻薇,歡迎評論區(qū)留言~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胶征,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌桨仿,老刑警劉巖睛低,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異服傍,居然都是意外死亡钱雷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門吹零,熙熙樓的掌柜王于貴愁眉苦臉地迎上來罩抗,“玉大人贸呢,你說我怎么就攤上這事如庭。” “怎么了吟榴?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵茫蛹,是天一觀的道長操刀。 經(jīng)常有香客問我,道長婴洼,這世上最難降的妖魔是什么骨坑? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮柬采,結(jié)果婚禮上欢唾,老公的妹妹穿的比我還像新娘且警。我一直安慰自己,他們只是感情好礁遣,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布斑芜。 她就那樣靜靜地躺著,像睡著了一般亡脸。 火紅的嫁衣襯著肌膚如雪押搪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天浅碾,我揣著相機與錄音大州,去河邊找鬼。 笑死垂谢,一個胖子當(dāng)著我的面吹牛厦画,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滥朱,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼根暑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了徙邻?” 一聲冷哼從身側(cè)響起排嫌,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缰犁,沒想到半個月后淳地,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡帅容,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年颇象,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片并徘。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡遣钳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出麦乞,到底是詐尸還是另有隱情蕴茴,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布路幸,位于F島的核電站荐开,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏简肴。R本人自食惡果不足惜晃听,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧能扒,春花似錦佣渴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至见秤,卻和暖如春砂竖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹃答。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工乎澄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人测摔。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓置济,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锋八。 傳聞我的和親對象是個殘疾皇子浙于,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容