поиск ключей минимальных значений в пределах - PullRequest
0 голосов
/ 07 апреля 2019

Я ищу список с ключами минимальных значений в пределах 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):
   ...

Или как я могу создать этот список?

1 Ответ

0 голосов
/ 07 апреля 2019

Извините, я не знаю точно, что вы имеете в виду. Может быть, вы хотите получить ключ 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...