我需要python中的“匹配”和“间接”帮助

2024-09-27 00:15:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个长数组,例如:

array1= [
[300, "Document1"],
[301, "Document2"],
[302, "Document3"],
[303, "Document4"],
[304, "Document5"],
[305, "Document6"],
[306, "Document7"],
[307, "Document8"],
[308, "Document9"],]  

然后给我一个较短的数组,例如:

array2 = [301, 305, 306]

我需要的是“匹配”数组2中的数字,并有一个数组输出,该输出提供:

outputarray = [Document2, Document6, Document7]

Tags: 数字数组array1array2document2document1outputarraydocument3
2条回答

看起来您可能希望将数据保存在dict中,因为它是数字到文档名的映射,并且dict用于此类映射:

data_in_a_dict = dict(array1)
# {300: 'Document1', 301: 'Document2', 302: 'Document3', 303: 'Document4',
#  304: 'Document5', 305: 'Document6', 306: 'Document7', 307: 'Document8',
#  308: 'Document9'}

然后,从中提取数据变得很容易:

outputarray = [data_in_a_dict[key] for key in array2]
# ['Document2', 'Document6', 'Document7']
output = [j for i, j in array1 if i in array2]

这应该行得通

相关问题 更多 >

    热门问题