原創是:yu_cherish
a_list = [1,2,3,4,5,6]
new_list = [x for x in a_list]
print(new_list)
>>>[1,2,3,4,5,6] #但是a_list和new_list指向的不是同乙個列表,也就是說,new_list建立了乙個新的列表
new_list_list = [x for x in a_list if x%2 == 0]
print(new_list_list)
>>>[2,4,6]
其實這一行**相當於下面這多行**的功能,由此可說明列表裡面巢狀for語句和if語句比較簡潔:
當然這種方式也可以應用於同時從多個列表裡面取出元素放在同乙個列表裡面:
num = [3,4,6]
c_str = ['a','b','c']
com_list = [(x,y) for x in num for y in c_str]
print(com_list)
>>>[(3, 'a'), (3, 'b'), (3, 'c'), (4, 'a'), (4, 'b'), (4, 'c'), (6, 'a'), (6, 'b'), (6, 'c')]
list_com = [(x,y) for x in num for y in c_str if x%2 == 0]
print(list_com)
>>>[(4, 'a'), (4, 'b'), (4, 'c'), (6, 'a'), (6, 'b'), (6, 'c')]
那麼我仿照前面的思路寫就是:
Go裡面如何實現廣播?
在go裡面,channel是一種非常關鍵 方便的通訊機制,但是通常我們想要將訊息傳遞給多個消費者可能需要建立多個通道。只要channel的某個訊息被某個消費者讀取了,那麼該值就會被移除,而其他消費者將不會再消費這個訊息。如果我們想實現廣播方式我們可能需要將訊息寫入n個channel。例如 func ...
Mac OS 裡面如何識別磁碟。
void hello disk dadiskref disk,void context void goodbye disk dadiskref disk,void context dadissenterref hello diskmount dadiskref disk,void context d...
js裡面for迴圈的 i與i
首先我們應該都知道 i與i 的區別是 i 是先執行 i i 1 再使用 i 的值,而 i 是先使用 i 的值再執行 i i 1 然後我們也知道for迴圈的執行順序如下 for a b c 進入迴圈執行a 只是進入的時候執行.執行b 條件為真才執行d,不然就跳出for了.執行d 執行c 再回到第2步開...