2018年3月25日 星期日

Python: list comprehensive (Dictionary Comprehensive)

Python的list comprehensive是python語言中最強大的特色之一,可以讓你使用很簡單的句子就完成list的創建,python list comprehensive的通式如下:
[ __ for __ in ____ ]

舉例來說:

>>>list1 = [num for num in range(0,6)]
就可以創建出 [0, 1, 2, 3, 4]的list

後面還可以加入更複雜的條件式,如:

>>>list2 = [num for num in range(0,10) if num%2 == 0]
就可以創建出 [0, 2, 4, 6, 8]的list

當然還有不少有趣的例子,附在下方:
要注意的是其中最後一個例子運用在string上。


最後,python也允許有複雜的巢式(nested)的函式呼叫,例如:



2018/3/28 補充

此外,Dictionary Comprehensive與List Comprehensive非常類似,通式如下:
{ __:__ for __ in ____ }

例如:
第一個例子中,因預設(default)就是iterate鍵值(key),所以只看到keys。
而在第二個例子中,key及value都用到了,所以要注意最後in的後面必須改成.items,表示要iterate的整個item。

更多創建出dictionary的例子:






沒有留言:

張貼留言