gpt4 book ai didi

python - 返回字典键(元组)的值,不管元组元素的顺序如何

转载 作者:行者123 更新时间:2023-11-28 18:14:56 25 4
gpt4 key购买 nike

我有一个字典,其中的键是元组:

submatrix = {('W', 'F'): 1, ('L', 'R'): -2, ('S', 'P'): -1,...}

给字典包含一半的对称矩阵,和下面等价

('W', 'F'): 1
('F', 'W'): 1

我想返回给定元组的值,而不考虑顺序。如果元组元素的顺序不匹配,则失败:

for i in range(1,len(y)+1):
for j in range (1,len(x)+1):
if(submatrix[(x[j-1], y[i-1])]):

我也试过:

   if(submatrix[(x[j-1], y[i-1])] or submatrix[(y[j-1], x[i-1])])

这失败了

查尔斯

最佳答案

将您的 key 转换为 frozensets :

submatrix = {('W', 'F'): 1, ('L', 'R'): -2, ('S', 'P'): -1}

d = {frozenset(k): v for k, v in submatrix.items()}

d[frozenset({'W', 'F'})] # 1
d[frozenset({'F', 'W'})] # 1

之所以可行,是因为 frozenset 是不可变且无序的。

关于python - 返回字典键(元组)的值,不管元组元素的顺序如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48936789/

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