我希望以简明、有效的方式将函数应用于元组的一个元素并返回新的元组,在Python中。
例如,对于以下输入:
我希望能够获得以下输出结果:
有更好的方法吗?谢谢!
例如,对于以下输入:
inp = ("hello", "my", "friend")
我希望能够获得以下输出结果:
out = ("hello", "MY", "friend")
我想到了两种解决方案,但都不太满意。
其中一种使用高阶函数。
def apply_at(arr, func, i):
return arr[0:i] + [func(arr[i])] + arr[i+1:]
apply_at(inp, lambda x: x.upper(), 1)
使用列表推导式(假设元组长度已知)。
[(a,b.upper(),c) for a,b,c in [inp]][0]
有更好的方法吗?谢谢!