gpt4 book ai didi

python - 嵌套函数不起作用,为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 09:10:08 25 4
gpt4 key购买 nike

这是我的函数,它应该将另一个函数应用于给定可迭代对象中的每个元素。

def transform(iterable,f):
all=(i for i in iterable)
return (e.f() for e in all)

for i in transform('abCdeFg','upper'):
print(i,end='')

它应该做的是将所有字母大写,但我却得到了一个错误。我究竟做错了什么?我正在使用 Python 3.3。

最佳答案

e.f 字面意思是 e.f。它与您的 f 变量无关。要按名称获取属性,请使用 getattr:

def transform(iterable,f):
all=(i for i in iterable)
return (getattr(e, f)() for e in all)

for i in transform('abCdeFg','upper'):
print(i,end='')

此外,您可能会发现内置的 map 函数很有用:

def function(l):
return l.upper()

for i in map(function, 'abCdeFg'):
print(i, end='')

关于python - 嵌套函数不起作用,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16312410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com