A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))
A1 = range(10)
A2 = [i for i in A1 if i in A0]
A3 = [A0[s] for s in A0]
A4 = [i for i in A1 if i in A3]
A5 = {i:i*i for i in A1}
A6 = [[i,i*i] for i in A1]
複製代碼
默讀代碼類的題目,相對來講是比較簡單的。重點去研究列表解析,以後你就能夠輕鬆的回答這些問題嘍~html
A0 = {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4}
A1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
A2 = []
A3 = [1, 3, 2, 5, 4]
A4 = [1, 2, 3, 4, 5]
A5 = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
A6 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]
複製代碼
dict(中文叫字典)是另外一種可變容器模型
,且可存儲任意類型對象。 字典的每一個鍵值(key=>value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括號{}
中 字典的特性python
從字典中取值,時間複雜度是多少 O(1)
,字典是hash table
實現安全
線程 線程是操做系統可以進行運算調度的==最小單位==。它被包含在進程之中
,是進程中的實際運做單位。 一條線程指的是進程中一個單一順序的控制流,一個進程中能夠併發多個線程
,每條線程並行執行不一樣的任務。一個線程是一個execution context(執行上下文),即一個cpu執行時所須要的一串指令。數據結構
進程 一個程序的==執行實例==就是一個進程。每個進程提供執行程序所需的全部資源。(進程本質上是資源的集合) 一個進程有一個虛擬的地址空間、可執行的代碼、操做系統的接口、安全的上下文(記錄啓動該進程的用戶和權限等等)、惟一的進程ID、環境變量、優先級類、最小和最大的工做空間(內存空間),還要有==至少一個線程==。 每個進程啓動時都會最早產生一個線程,即主線程
而後主線程會再建立其餘的子線程。多線程
進程與線程區別併發
轉載自互聯網,總結的挺好的,有益! 深刻的理解看這篇博客就能夠了:www.cnblogs.com/whatisfanta…dom
a[::2] = [1, 3, 5], a[-2:] = [4, 5]
複製代碼
from functools import reduce
a = [1, 2, 3, 4, 5]
print(reduce(lambda x, y: x+y, [(x+3*((a.index(x)+1)%2)) for x in a])) # a中元素均不相同
# 或
print(reduce(lambda x, y: x+y, [a[x]+(x+1)%2*3 for x in range(0, 5)])) # 只適用於a中元素有5個狀況
複製代碼
from random import shuffle
a = [1, 2, 3, 4, 5]
# 打亂列表a的元素順序
shuffle(a)
# 對a進行排序獲得列表b
b = sorted(a, reverse=True)
# zip 並行迭代,將兩個序列「壓縮」到一塊兒,而後返回一個元組列表,最後,轉化爲字典類型。
d = dict(zip(a, b))
print(d)
複製代碼