繁体   English   中英

如何在Python中列出字典中某些元素的键

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM