初次使用后,发电机为空

时间:2018-01-21 09:10:39

标签: python python-3.x list generator

我刚开始学习python Generator 对于以下代码获取空白列表

Aircraft_typelst = ['Boeing','Airbus','MiJ','goes']
upper_case_name = ( name.upper() for name in Aircraft_typelst )
print(list(upper_case_name))
reverse = (rev[::-1]for rev in upper_case_name)
print(list(reverse))

输出

['BOEING', 'AIRBUS', 'MIJ', 'GOES']
[]

1 个答案:

答案 0 :(得分:0)

问题是你正在尝试重用

生成器对象无法重用

# Problem is you are trying to reuse
# Generator object cannot be reused
Aircraft_typelst = ['Boeing','Airbus','MiJ','goes']
upper_case_name = ( name.upper() for name in Aircraft_typelst )
print(list(upper_case_name))
# Instead of it you can use it as
reverse = (rev[::-1 ]for rev in ( name.upper() for name in Aircraft_typelst) )
print(list(reverse))

输出

['BOEING', 'AIRBUS', 'MIJ', 'GOES']
['GNIEOB', 'SUBRIA', 'JIM', 'SEOG']