優雅的使用python,讓自己的code更pythonic
test_list = ['龍母','雪諾','提里昂','山姆']
count = 0
for name in test_list:
print('%s的序號是: %d' %(name, count))
count += 1
龍母的序號是: 0
雪諾的序號是: 1
提里昂的序號是: 2
山姆的序號是: 3
test_list = ['龍母','雪諾','提里%s
龍母的序號是: 0
雪諾的序號是: 1
提里昂的序號是: 2
山姆的序號是: 3
通過上面兩個例子可以看到,在對list進行遍歷的時候,使用enumerate可以直接獲得對應值的索引,不需要再定義變數count進行計數
list1 = ['羅柏','薩莎','艾莉亞','布蘭','雪諾']
list2 = ['灰風','淑女','娜梅利亞','夏天','白靈']
for stake,wolf in zip(list1,list2):
print("%s的小狼叫做%s" %(stake, wolf))
羅柏的小狼叫做灰風
薩莎的小狼叫做淑女
艾莉亞的小狼叫做娜梅利亞
布蘭的小狼叫做夏天
雪諾的小狼叫做白靈
不僅對兩個list可以哦,對三個list也同樣是有效的
list1 = ['羅柏','薩莎','艾莉亞','布蘭','雪諾']
list2 = ['灰風','淑女','娜梅利亞','夏天','白靈']
list3 = ['消逝','消逝','改變','消逝','啥也不知道']
for stake,wolf,state in zip(list1,list2,list3):
print("%s的小狼%s現在已經%s" %(stake, wolf,state))
羅柏的小狼灰風現在已經消逝
薩莎的小狼淑女現在已經消逝
艾莉亞的小狼娜梅利亞現在已經改變
布蘭的小狼夏天現在已經消逝
雪諾的小狼白靈現在已經啥也不知道
有了zip你就不再需要傻傻的使用不那麼簡潔的方式進行遍歷了
x = 1
y = 2
defswap
(a,b):
print('before swap a is %d, b is %d' % (a, b))
temp = a
a = b
b = temp
print('after swap a is %d, b is %d' % (a, b))
swap(x,y)
before swap a is 1, b is 2
after swap a is 2, b is 1
x = 1
b = 2
defswap
(a,b):
print('before swap a is %d, b is %d' % (a, b))
a,b = b,a
print('after swap a is %d, b is %d' % (a, b))
swap(x,y)
before swap a is 1, b is 2
after swap a is 2, b is 1
這個trick更像是一條賦值語句,可以看成是對變數的重新賦值,同zip一樣,這個trick對多個變數也同樣適用
x,y,z = 1,2,3
print("before swap x=%d,y=%d,z=%d" %(x,y,z))
x,y,z = z,x,y
print("after swap x=%d,y=%d,z=%d" %(x,y,z))
before swap x=1,y=2,z=3
after swap x=3,y=1,z=2
一般的實現方式
statke_house =
if'瑞肯'
in statke_house:
statke_house['瑞肯'] = '毛毛狗'
print('導演能不能給我加點戲~')
else:
print('存在感還能再低一點麼~')
存在感還能再低一點麼~
簡潔的實現方式
statke_house =
result = statke_house.get('瑞肯', '我果然是撿來的')
print('瑞肯的內心: {}' .format(result))
瑞肯的內心: 我果然是撿來的
這個tip只不過是用了dictionary.get()的乙個default賦值引數,所以類似像這樣的小東東在python還有很多
如何把python用的更優雅,讓code更易讀,需要不斷的探索啊^.^
—————————————— 二更分割線 —————————————
python多執行緒的優雅使用
筆者作為一名python職業玩家,仔細研究了下python多執行緒的使用方法,記錄下學習的過程 python中的threading模組是專門用來處理多執行緒併發的情況,廢話少說,直接上 import threading class mythread threading.thread def init...
優雅的使用 Python 協程
協程 coroutine 是由程式設計師在 中顯示排程的。程序和執行緒是由作業系統排程,執行緒是作業系統排程的最小單位 看過前邊的文章應該知道,執行緒任務在 io 阻塞之後,作業系統會進行執行緒切換,這個切換會浪費時間與資源。而協程是在單個執行緒中併發的多個任務,當執行中的協程任務遇到阻塞之後,立即...
優雅的使用Python之軟體管理
方法一 lpython get pip.py d python33 python get pip.py downloading unpacking pip downloading unpacking setuptools installing collected packages pip,setup...