元组转字符串并对每个元素应用函数
这里有一个元组 (a, b, c)
。
我想要得到 foo(a) + "\n" + foo(b) + "\n" + foo(c)
这样的结果。
有没有什么聪明的方法可以做到这一点,而不是手动一个一个来?
2 个回答
3
只要foo是一个字符串:
"\n".join(map(foo,tup))
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_ ])