[英]How to list out the key for certain elements of dictionary in 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]
我希望有人可以在这件事上帮助我。 谢谢。
您可以使用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])])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.