2012-10-26 68 views

回答

3

下面是完整的語法(Python的2.7.3):

http://docs.python.org/reference/grammar.html

以下規則涉及解析列表理解的一般語法:

首先,分析整個表達,這是一種​​:

atom: ('(' [yield_expr|testlist_comp] ')' | 
     '[' [listmaker] ']' | 
     '{' [dictorsetmaker] '}' | 
     '`' testlist1 '`' | 
     NAME | NUMBER | STRING+) 

其次,解析理解的實際內容,listmaker,規則,它使用:

listmaker: test (list_for | (',' test)* [',']) 
list_iter: list_for | list_if 
list_for: 'for' exprlist 'in' testlist_safe [list_iter] 
list_if: 'if' old_test [list_iter] 

除此之外,你回去一般解析表達式,如exprlist

+0

謝謝,我也發現這個非常有用的http://docs.python.org/reference/expressions.html#list-displays – iabdalkader

相關問題