リスト内包表記は常に別のリストを作成するため、それらを組み合わせて使用することはできません (たとえば、1 つの数値を与える場合など)。また、非常に卑劣でない限り、リスト内包表記で割り当てを行う方法はありません。
リスト内包表記が sum メソッドに役立つと思うのは、リストに特定の値のみを含めたい場合、または数値のリストがない場合だけです。
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!
...しかし、それは恐ろしいです:)