#程式映射和過濾以制作一個串列,其元素是偶數的立方體
#函式用于過濾器中使用的偶數
def even(num):
if num%2==0:
return num
def cube(num):
return num**3
a=range(1,10)
print(list(a))
b=filter(even,a)
print(list(b))
c=map(cube,b)
print(list(c))
uj5u.com熱心網友回復:
b是一個發電機。當您將其轉換為list使用list()建構式時,它已耗盡。如果您注釋掉以下行:
print(list(b))
您的代碼將按預期作業。
作為旁注,您可以將所有這些寫在一行中:
list(map(lambda x: x**3, filter(lambda x: x%2==0, a)))
(但我想你已經知道了)。
輸出:
[8, 64, 216, 512]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/400145.html
上一篇:如何將元組轉換為字典?
下一篇:獲取值/字典Python
