Как перечислить ключ для некоторых элементов словаря в Python

У меня есть сопоставление словарей:

k=[1,3,5,7,9]
matrix = { 1:[0,0], 2:[0,1], 3:[0,2], 4: [1,0], 5:[1,1], 6:[1,2], 7:[2,0], 8:[2,1], 9:[2,2]};
j=[matrix[i] for i in k]
print ("output=",j)

и выход

output =[[0, 0], [0, 2], [1, 1], [2, 0], [2, 2]]

Мой вопрос заключается в том, как правильно отредактировать ключи для определенных элементов в словарной матрице, как показано ниже:

key=[1,3,5,7,9]

Я надеюсь, что кто-то может помочь мне в этом вопросе. Спасибо.

python,dictionary,key,mapping,

0

Ответов: 1


0 принят

Вы можете использовать понимание dict :

k=[1,3,5,7,9]
matrix = { 1:[0,0], 2:[0,1], 3:[0,2], 4: [1,0], 5:[1,1], 6:[1,2], 7:[2,0], 8:[2,1], 9:[2,2]};
print({i: v for i, v in matrix.items() if i in k})

Эти результаты:

{1: [0, 0], 3: [0, 2], 5: [1, 1], 7: [2, 0], 9: [2, 2]}

Или, если вы хотите сохранить заказ до Python 3.6, вы можете использовать OrderedDict :

from collections import OrderedDict
print(OrderedDict(filter(lambda i: i[0] in k, matrix.items())))

Эти результаты:

OrderedDict([(1, [0, 0]), (3, [0, 2]), (5, [1, 1]), (7, [2, 0]), (9, [2, 2])])
питон, словарь, ключ, отображение,
Похожие вопросы