gpt4 book ai didi

python - 最大()函数 : how to get the item being iterated and pass to key=func()

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

我正在学习用 Python 编写代码。我的第一个自布置作业是 Dijkstra 算法我能够 make_graph 并填充它,但我仍然无法确定 SSSP(源)。

我正在尝试使用 min(list,key=func()) 来获取值(value)最低的项目。“key=func()”:在另一个具有相同索引的最小值的列表中必须具有“尚未迭代”的值

如何将当前列表项传递给key fund() 来检查它是否在check_list 中有相应的值“尚未迭代”。如果 key=True 是否会返回最小值?

如果 func() 返回一个 bool 值,key=func() 是如何工作的

最佳答案

只需使用func,删除():

min(list,key=func)

例子:

>>> lis = [ '1', '2', '3', '4' ]
>>> def func(x):
... return int(x)
...
>>> min(lis, key=func) # each value from list is passed to `func`(one at a time)
'1'

在python中True等于1False等于0,所以如果func() 返回 bool 值,然后实际上您的 min 函数将只比较 10

>>> True == 1
True
>>> False == 0
True

例子:

>>> def func(x): return bool(x)
>>> lis = [ 1, [], 3, 4 ]
>>> min(lis, key=func) # bool([]) evaluated to False, ie 0
[]
>>> max(lis, key=func)
1

另一个例子:

>>> lis  = [[4,5,6], [1,2], [13,1,1,1], [1000]]
>>> def func(x):
... return len(x) #comparisons are done based on this value
...
>>> min(lis, key = func)
[1000]
#equal to
>>> min(lis, key = len)
[1000]

关于python - 最大()函数 : how to get the item being iterated and pass to key=func(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143015/

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