我正在搜索一个列表,其中包含dict中最小值的键。目标是获得每个i的最小值的键。
#Dict:
p[i,j] = {(0,0):10, (0,1):11, (0,2):12, (1,0):20, (1,1):21, (1,2):22, (2,0):30, (2,1):31, (2,2):32}
#The list should look like this:
list = [(0,0), (1,0), (2,0)]
我可以用循环吗?
for i in range(3):
...
或者我如何生成此列表?
对不起,我不知道你的意思。也许你想获得最小值P的密钥,这个密钥属于列表。您可以尝试以下代码。
p = {(0,0):10, (0,1):11, (0,2):12,
(1,0):20, (1,1):21, (1,2):22,
(2,0):30, (2,1):31, (2,2):32}
list = [(0,0), (1,1), (2,2)]
listRes = {}
# get listRes 10:(0,0) 21:(1,1) 32:(2,2)
for j in range(len(list)):
listRes[p[list[j]]] = list[j]
# (10, (0, 0))
print(min(listRes.items(), key=lambda x: x[0]))
好吧,也许我明白了。请参阅下面的代码。
import sys
p = {(0,0):10, (0,1):11, (0,2):12,
(1,0):20, (1,1):21, (1,2):22,
(2,0):30, (2,1):31, (2,2):32}
res = []
tuple1 = ()
for i in range(3):
minValue = sys.maxsize
for j in range(3):
if minValue>p[(i,j)]:
tuple1 = (i,j)
minValue = p[(i,j)]
res.append(tuple1)
print(res)