传递元素&在字典内的字典内的列表上执行计算

2024-05-15 20:59:27 发布

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

我有一本英语词典form:- 你知道吗

DictName = {'A1': {'B': ['B1', 'B2'], 'C': ['C1', 'C2']}, 'A2': {'B': ['B3', 'B4'], 'C': ['C3', 'C4']}}

我对列表元素进行计算的尝试是徒劳的

例如:

[B1, B2] - [B3 - B4]

我在函数中使用以下代码来计算距离:

 def _calculate_distance(x,y):
 return sqrt(sum(pow(a - b,2) for a, b in zip(x, y)))

我正在传递两个列表(ListA&;b)表格的功能:

ListA = DictName[A1]
ListB = DictName[A2]

我得到下面的错误,它指向前面提到的函数above:- 你知道吗

TypeError: unsupported operand type(s) for -: 'list' and 'list'

我想我走错路了

关于如何根据包含在自己的字典中的键值(A)在字典(B)中传递列表元素(B1、B2、B3、B4)的任何建议,以便可以执行计算

我希望这有道理。如果有人能帮忙,我会很高兴的


Tags: 函数a2元素列表for字典a1b2
1条回答
网友
1楼 · 发布于 2024-05-15 20:59:27

函数_calculate_distance包含两个列表

如果你的字典是这样的:

DictName = {'A1': {'B': [1, 2], 'C': [1, 1]}, 'A2': {'B': [1, 4], 'C': [3, 2]}}

如果要在'A1', 'B'中传递列表,可以通过以下方式访问该列表:

DictName['A1']['B']
[1, 2]

然后可以将这些列表传递给distance函数

_calculate_distance(DictName['A1']['B'], DictName['A1']['C'])
2.2360679774997898

希望这有帮助

相关问题 更多 >