1. 程式人生 > 遊戲 >《任天堂明星大亂鬥:特別版》官方確認角色通行證2後將不會再有新角色

《任天堂明星大亂鬥:特別版》官方確認角色通行證2後將不會再有新角色

推導式是Python中很強大的、很受歡迎的特性,具有語言簡潔,速度快等優點。推導式包括:

1.列表推導式
2.字典推導式
3.集合推導式

【列表推導式】

列表推導能非常簡潔的構造一個新列表:只用一條簡潔的表示式即可對得到的元素進行轉換變形
其基本格式如下:

[expr for value in collection ifcondition]

[表示式 for 變數 in 列表]    或者  [表示式 for 變數 in 列表 if 條件]

過濾條件可有可無,取決於實際應用,只留下表示式;相當於下面這段for迴圈:

result = []

for value in collection:

if condition: result.append(expression)

例:

#!/usr/bin/python
# -*- coding: utf-8 -*-
li = [1,2,3,4,5,6,7,8,9]
print [x**2 for x in li]
print [x**2 for x in li if x>5]
print dict([(x,x*10) for x in li])

print [ (x, y) for x in range(10) if x % 2 if x > 3 for y in range(10) if y > 7 if y != 8 ]
vec
=[2,4,6] vec2=[4,3,-9] sq = [vec[i]+vec2[i] for i in range(len(vec))] print sq print [x*y for x in [1,2,3] for y in [1,2,3]] testList = [1,2,3,4] def mul2(x): return x*2 print [mul2(i) for i in testList]

【字典推導式】

字典和集合推導式是該思想的延續,語法差不多,只不過產生的是集合和字典而已。其基本格式如下:

{ key_expr: value_expr for value in
collection if condition }

例1: 用字典推導式以字串以及其長度建字典

>>> strings = ['import','is','with','if','file','exception'] 

 

>>> D = {key: val for val,key in enumerate(strings)} 

 

>>> D 

{'exception': 5, 'is': 1, 'file': 4, 'import': 0, 'with': 2, 'if': 3} 


【集合推導式】
集合推導式跟列表推導式非常相似,唯一區別在於用{}代替[]。其基本格式如下:

{ expr for value in collection if condition }

例1: 用集合推導建字串長度的集合

>>> strings = ['a','is','with','if','file','exception'] 

>>> {len(s) for s in strings} #有長度相同的會只留一個,這在實際上也非常有用 

set([1, 2, 4, 9])