繁体   English   中英

python 中的高阶 function 数据类型

[英]Higher-order function data types in python

我必须输入提示这个 function 我知道它需要一个列表和一个 function f。 这很清楚。 它采用列表中的 int 并执行“与 function f 相关的操作,并将其附加到字符串中。但是 f: 作为类型提示输入了什么?可调用,然后呢?

def g(L: list[int], f: Callable[[], ]) -> str:
  result = ""
  for el in L:
    result+=f(el)
  return result
 Mypy output:

data_types_2.py:13: error: Unsupported operand types for + ("str" and "int")

        result+=f(el)

第一个列表应该是 arguments 到f的类型; 最后一个元素应该是它的返回类型。

参考: https://docs.python.org/3/library/typing.html#callable

我找到了解决方案

def g(L: list[int], f: Callable[[int], str]) -> str:
  result = ""
  for el in L:
    result+=f(el)
  return result

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM