10個(gè)極簡python代碼屡久,拿走即用

Hello忆首,大家好,我是Alex~

雖然python是一個(gè)易入門的語言被环,但是很多人依然還是都會問到底怎么樣學(xué) Python 才最快糙及,答案當(dāng)然是實(shí)戰(zhàn)各種小項(xiàng)目,只有自己去想與寫筛欢,才記得住規(guī)則浸锨。本文寫的是 10 個(gè)極簡任務(wù),初學(xué)者可以嘗試著自己實(shí)現(xiàn)版姑;本文同樣也是 10段代碼柱搜,Python 開發(fā)者也可以看看是不是有沒想到的用法。

1剥险、重復(fù)元素判定

以下方法可以檢查給定列表是不是存在重復(fù)元素冯凹,它會使用 set() 函數(shù)來移除所有重復(fù)元素。

def all_unique(lst):

return len(lst)== len(set(lst))

x = [1,1,2,2,3,2,3,4,5,6]

y = [1,2,3,4,5]

all_unique(x) # False

all_unique(y) # True

2炒嘲、分塊

給定具體的大小宇姚,定義一個(gè)函數(shù)以按照這個(gè)大小切割列表。

from math import ceil

def chunk(lst, size):

return list(

map(lambda x: lst[x * size:x * size + size],

list(range(0, ceil(len(lst) / size)))))

chunk([1,2,3,4,5],2)

#[[1,2],[3,4],5]

3夫凸、壓縮

這個(gè)方法可以將布爾型的值去掉浑劳,例如(False,None夭拌,0魔熏,“”)衷咽,它使用 filter() 函數(shù)。

def compact(lst):

return list(filter(bool, lst))

compact([0, 1, False, 2, '', 3, 'a', 's', 34])

#[ 1, 2, 3, 'a', 's', 34 ]

4蒜绽、 使用枚舉

我們常用 For 循環(huán)來遍歷某個(gè)列表镶骗,同樣我們也能枚舉列表的索引與值。

list = ["a", "b", "c", "d"]

for index, element in enumerate(list):

print("Value", element, "Index ", index, )

#('Value', 'a', 'Index ', 0)

#('Value', 'b', 'Index ', 1)

#('Value', 'c', 'Index ', 2)

#('Value', 'd', 'Index ', 3)

5躲雅、解包

如下代碼段可以將打包好的成對列表解開成兩組不同的元組鼎姊。

array = [['a', 'b'], ['c', 'd'], ['e', 'f']]

transposed = zip(*array)

print(transposed)

#[('a', 'c', 'e'), ('b', 'd', 'f')]

6、展開列表

該方法將通過遞歸的方式將列表的嵌套展開為單個(gè)列表相赁。

def spread(arg):

ret = []

for i in arg:

if isinstance(i, list):

ret.extend(i)

else:

ret.append(i)

return ret

def deep_flatten(lst):

result = []

result.extend(

spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))

return result

deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]

7相寇、 列表的差

該方法將返回第一個(gè)列表的元素,其不在第二個(gè)列表內(nèi)钮科。如果同時(shí)要反饋第二個(gè)列表獨(dú)有的元素唤衫,還需要加一句 set_b.difference(set_a)。

def difference(a, b):

set_a = set(a)

set_b = set(b)

comparison = set_a.difference(set_b)

return list(comparison)

difference([1,2,3], [1,2,4]) # [3]

8绵脯、 執(zhí)行時(shí)間

如下代碼塊可以用來計(jì)算執(zhí)行特定代碼所花費(fèi)的時(shí)間佳励。

import time

start_time = time.time()

a = 1

b = 2

c = a + b

print(c) #3

end_time = time.time()

total_time = end_time - start_time

print("Time: ", total_time)

#('Time: ', 1.1205673217773438e-05)

9、 Shuffle

該算法會打亂列表元素的順序蛆挫,它主要會通過 Fisher-Yates 算法對新列表進(jìn)行排序:

from copy import deepcopy

from random import randint

def shuffle(lst):

temp_lst = deepcopy(lst)

m = len(temp_lst)

while (m):

m -= 1

i = randint(0, m)

temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]

return temp_lst

foo = [1,2,3]

shuffle(foo) # [2,3,1] , foo = [1,2,3]

10植兰、 交換值

不需要額外的操作就能交換兩個(gè)變量的值。

def swap(a, b):

return b, a

a, b = -1, 14

swap(a, b) # (14, -1)

spread([1,2,3,[4,5,6],[7],8,9])

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

以上璃吧,是我簡單列舉的十個(gè)python極簡代碼楣导,拿走即用,希望對你有所幫助畜挨!

喜歡的小伙伴們筒繁,可以點(diǎn)個(gè)贊,有問題或有其他想法的可以在評論區(qū)留言巴元。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毡咏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子逮刨,更是在濱河造成了極大的恐慌呕缭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件修己,死亡現(xiàn)場離奇詭異恢总,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)睬愤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門片仿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人尤辱,你說我怎么就攤上這事砂豌∠崞瘢” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵阳距,是天一觀的道長塔粒。 經(jīng)常有香客問我,道長筐摘,這世上最難降的妖魔是什么卒茬? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蓄拣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘努隙。我一直安慰自己球恤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布荸镊。 她就那樣靜靜地躺著咽斧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躬存。 梳的紋絲不亂的頭發(fā)上张惹,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機(jī)與錄音岭洲,去河邊找鬼宛逗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛盾剩,可吹牛的內(nèi)容都是我干的雷激。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼告私,長吁一口氣:“原來是場噩夢啊……” “哼屎暇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起驻粟,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤根悼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蜀撑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挤巡,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年酷麦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玄柏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贴铜,死狀恐怖粪摘,靈堂內(nèi)的尸體忽然破棺而出瀑晒,到底是詐尸還是另有隱情,我是刑警寧澤徘意,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布苔悦,位于F島的核電站,受9級特大地震影響椎咧,放射性物質(zhì)發(fā)生泄漏玖详。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一勤讽、第九天 我趴在偏房一處隱蔽的房頂上張望蟋座。 院中可真熱鬧,春花似錦脚牍、人聲如沸向臀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽券膀。三九已至,卻和暖如春驯遇,著一層夾襖步出監(jiān)牢的瞬間芹彬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工叉庐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舒帮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓陡叠,卻偏偏與公主長得像会前,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子匾竿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

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