有一个元组(a, b, c)
。
我需要foo(a) + "\n" + foo(b) + "\n" + foo(c)
如何以智能方式完成,而不是手动完成?
答案 0 :(得分:8)
你可以这样做(如果foo()返回一个字符串):
tuple_ = (a,b,c)
"\n".join( foo(i) for i in tuple_ )
如果foo()没有返回字符串:
tuple_ = (a,b,c)
"\n".join( str(foo(i)) for i in tuple_ )
修改强>
如果写为python< 2.4使用它,因为Python 2.4中添加了生成器表达式:
tuple_ = (a,b,c)
"\n".join([ str(foo(i)) for i in tuple_ ])
答案 1 :(得分:3)
只要foo是一个字符串:
"\n".join(map(foo,tup))