给定一个字典,我想要节点1和银行1,节点2和银行2等等。
data1 ={“节点1":256,”节点2":25,“银行1":16,”银行2":20}
预期产出: 272 45
发布于 2022-02-26 10:37:09
此代码将所有匹配的Node-Bank对加在一起,而忽略其余的.
data1 = {"Node 1": 256,"Node 2":25, "Bank 1":16,"Bank 2":20}
keys = set([key if "Node" in key else "" for key in list(data1.keys())])
keys.remove("")
for key in keys:
if "Bank " + str(key.split(" ")[1]) in data1.keys():
print(data1[key] + data1["Bank " + str(key.split(" ")[1])], end=" ")发布于 2022-02-26 10:41:02
我是在假设你所有的价值观都是这样的
您可以首先拆分节点和银行。
nodes = {k:v for k,v in data1.items() if k.startswith('Node')}
banks = {k:v for k,v in data1.items() if k.startswith('Bank')}然后把数组的值和起来
np.array(list(nodes.values())) + np.array(list(banks.values()))发布于 2022-02-26 10:45:34
如果您的字典将包含银行和节点(并且没有重复或缺少值),这是很容易的。
dictionary).
n迭代的元素数的一半。在每次迭代中,
下面是一个将它们作为列表来获取的示例。
from json import dumps
data1 = {"Node 1": 256, "Node 2": 25, "Bank 1": 16, "Bank 2": 20}
sums = [0] * len(data1) // 2
for i, sum in enumerate(sums):
sums[i] = data1[f"Node {i + 1}"] + data1[f"Bank {i + 1}"]
print(sums)注意:通常不会对列表使用索引,但我认为这是对您的问题的一个非常简单的回答。
https://stackoverflow.com/questions/71275776
复制相似问题