天天看點

python的集合推導式_Python推導式簡單示例【清單推導式、字典推導式與集合推導式】...

本文執行個體講述了Python推導式。分享給大家供大家參考,具體如下:

1. 清單推導式

>>> li = [1,2,3,4,5,6]

# 求元素的平方

>>> li_a = [x**2 for x in li ]

>>> li_a

[1, 4, 9, 16, 25, 36]

# 提取偶數值

>>> li_b = [x for x in li if x%2==0]

>>> li_b

[2, 4, 6]

# 将多元數組轉換成一維數組

>>> li_c = [[1,2], [3], [], [4,5,6]]

>>> li_d = [j for i in li_c for j in i ]

>>> li_d

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

# 使用map

>>> li_1 = ['a', 'b', 'c', 'd']

>>> li_2 = [10, 20, 30, 40]

>>> li_e = list(map(lambda x, y:{x:y}, li_1, li_2))

>>> li_e

[{'a': 10}, {'b': 20}, {'c': 30}, {'d': 40}]

2. 字典推導式

# 解析清單

>>> li = ['a', 'b', 'c', 'd', 'e']

>>> li_1 = {k:v for k, v in enumerate(li)}

>>> li_1

{0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e'}

# 解析字典

>>> dict_a = {'a':10, 'b':20, 'c':30}

>>> dict_b = {v:k for k, v in dict_a.items()}

>>> dict_b

{10: 'a', 20: 'b', 30: 'c'}

3. 集合推導式

>>> set1 = {x for x in range(10)}

>>> set1

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

PS:上述代碼在Python2.7與Python3.6環境下測試

希望本文所述對大家Python程式設計有所幫助。