我对python和这个论坛非常陌生:) 我一直在努力用字典,真的需要一些帮助。你知道吗
对于我的问题,输入是:
frontier = [
{ 'state': (2, 5, 4, 3, 0, 1), 'path': [ 'PULL' ] },
{ 'state': (2, 4, 5, 0, 3, 1), 'path': [ 'SWAP','PULL' ] },
{ 'state': (2, 5, 4, 0, 1, 3), 'path': [ 'SWAP' ] },
{ 'state': (2, 0, 5, 4, 3, 1), 'path': [ 'PUSH', 'PUSH' ] },
]
我们被告知每个动作的赋值:
翻转:2
例如,如果[push,swap]=5+8
对于这个问题,每个状态都有一个我计算的赋值(启发式)。你知道吗
然而,计算行动的价值让我感到困惑。我尝试过通过拆分项['path']进行编码,但它创建的列表无法使用。我不知道该怎么做。
我想列一个行动的清单。对于上述问题,它将看起来:
[6, 14, 8, 10]
有人能告诉我如何通过对给定示例的解释和代码来实现它吗?你知道吗
试试这个:
其中
action.value
应返回该特定操作的值试试这个:
退货:
.get(key, default)
函数是您的朋友。它将从给定键的字典中获取一个值,如果找不到则返回默认值。我们对字典值path
中的所有项求和。你知道吗这是一种方法。你知道吗
解释
sum
和map
延迟计算字典中所有操作的总和。你知道吗相关问题 更多 >
编程相关推荐