gpt4 book ai didi

python - 编写一个函数,使另一个函数返回 List 而不是函数

转载 作者:行者123 更新时间:2023-12-01 05:21:09 24 4
gpt4 key购买 nike

这是之前定义的函数

def make_service(service_data, service_code):
routes = []

directions = list(set(map(lambda entry: entry[1], service_data))) #['1', '2']

for direction in directions:
#'1' but if it is '2' then
#[('106', '2', '1', '03239'),...('106', '2', '51', '43009')] will be returned for nxt line

one_direction = filter(lambda entry: entry[1] == direction, service_data)
#if '1' then [('106', '1', '1', '43009')..('106', '1', '48', '03219')]

route = map(lambda thing: thing[3], one_direction) #['43009', '43179',..'03218', '03219']

routes.append(route) #[['43009', '43179',..'03218', '03219']]

return lambda t: service_code if t == 0 else (directions if t == 1 else routes)
# a function is returnrf here !


service_106 = make_service(service_106_data, "106")

service_106_data = filter_routes(smrt_routes, "106")
#[('106', '1', '1', '43009'), ...,('106', '1', '48', '03219'), ('106', '2', '1', '03239'),...('106', '2', '51', '43009')]

所以我想在这里编写一个返回的函数

[['43009', '43179',..'03218', '43009']]

我已经尝试过:

def get_routes(service):
return map(lambda x: x, service) # I was thinking that

service_106_routes = get_routes(service_106)
print(service_106_routes) # I should get [['43009', '43179',..'03218', '43009']]

如何编写一个从 make_service 中提取 [['43009', '43179',..'03218', '43009']] 的函数实际上返回一个函数lambda t?我真的不知道如何开始编写我的代码...我以 t 开头吗?

最佳答案

make_service 返回一个带有一个参数的简单 lambda 函数; t。该 lambda 函数依次返回:

  • service_code (t==0);
  • 方向 (t==1);或
  • routes(t 的任何其他值)。

因此,一旦您拥有此函数,您就可以通过提供适当的参数来访问这些值中的任何一个,例如

106_service_code = service_106(0)

关于python - 编写一个函数,使另一个函数返回 List 而不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22353658/

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