为什么获取生成器对象而不是列表

时间:2017-06-23 09:15:35

标签: python list generator

有人可以向我解释为什么我在运行这个小测试时会得到一个发电机而不是一个列表? (当我在函数外部运行它时,我得到正确的值(列表))

import math

X = [2,4,9,16,25]

def root(X,method='comp'):
    if method == 'comp':return [math.sqrt(x) for x in X]
    if method == 'map':return list(map(math.sqrt,X)) 
    if method == 'gen':yield (math.sqrt(x) for x in X) 

root(X)
Result:<generator object root at 0x0000018B53883570>

谢谢大家! :)

大卫

0 个答案:

没有答案