使用函数对每个元素进行字符串的元组

时间:2011-05-26 17:41:38

标签: python

有一个元组(a, b, c)

我需要foo(a) + "\n" + foo(b) + "\n" + foo(c)

如何以智能方式完成,而不是手动完成?

2 个答案:

答案 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))