列表理解總是會創建另一個列表,所以在組合它們時沒有用(例如給出一個單一的數字)。另外,除非你超級偷偷摸摸,否則無法在列表理解中進行任務。
我曾經看到使用列表理解爲有用的方法和唯一的一次是,如果你只是想在列表中包含特定的值,或者你沒有號碼的清單:
list = [1,2,3,4,5]
product = [i for i in list if i % 2 ==0] # only sum even numbers in the list
print sum(product)
或另一個例子「:
# list of the cost of fruits in pence
list = [("apple", 55), ("orange", 60), ("pineapple", 140), ("lemon", 80)]
product = [price for fruit, price in list]
print sum(product)
超級偷偷摸摸的方式,使在一個列表理解的分配
dict = {"val":0}
list = [1, 2, 3]
product = [dict.update({"val" : dict["val"]*i}) for i in list]
print dict["val"] # it'll give you 6!
...但是,這太可怕了:)
可能重複[像sum()那樣的Python函數,但用於乘法?產品()?](http://stackoverflow.com/questions/595374/whats-the-python-function-like-sum-but-for-multiplication-product) –