我正在使用此功能
def convert_tuple(self, listobj, fields=['start', 'end', 'user']):
return [(getattr(obj, field) for field in fields)
for obj in listobj]
我想要的输出应该是
[('2am', '5am', 'john'), ('3am', '5am', 'john1'), ('3am', '5am', 'john2') ]
上述功能的输出是
[genexp, genexp, genexp]
它的生成器表达式,我无法像我想要的那样扩展它
答案 0 :(得分:7)
将gen-exp转换为tuple
def convert_tuple(self, listobj, fields=['start', 'end', 'user']):
return [tuple(getattr(obj, field) for field in fields)
for obj in listobj]
答案 1 :(得分:5)
parens按照Bhargav's answer创建一个生成器表达式调用元组,或者您可以将--accept
用于map:
merge
演示:
operator.attrgetter
您可以删除python2的列表调用。