在csp python中将dictionary作为参数传递会产生不可破坏的类型:“dict”

2024-09-25 06:24:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中应用CSP时,将字典作为参数传递给python中的方法时遇到了问题

officerDomain = range(0, 2**scheduleDays-1)

solver = MinConflictsSolver()
problem = Problem(solver)

officers = []
officers.append({'name':'Ryan', 'rank':'3'})
officers.append({'name':'Mond', 'rank':'1'})
officers.append({'name':'Eric', 'rank':'3'})


for officer in officers:
    print(officer)
    problem.addVariable(officer, officerDomain)

将字典传递到列表中时,会给出错误不可损坏类型:“dict”


Tags: 方法name字典rangecspsolverproblemrank
1条回答
网友
1楼 · 发布于 2024-09-25 06:24:20

让我们读一下documentation

addVariable(self, variable, domain)

Parameters: variable - Object representing a problem variable (type=hashable object)

所以你不能使用字典(在这种情况下是官员),因为它不易损坏。例如,尝试使用officer["name"]

相关问题 更多 >