我有这样的字典,其中的值本身就是一个列表。import randomdict_size = 10my_dict = dict(zip(np.random.randint(1000000,size=dict_size ), map(lambda x: [random.randrange(10000)],range(dict_size ))))my_dict# {187898: [1209], 189434: [8294], 201447: [1258], 317844: [7760], 330804: [2305], 679881: [1738], 754108: [8503], 758119: [712], 845631: [2372], 870357: [340]}我想以特定顺序获取字典的值my_key_order (我创建了一个订单示例,但我有实际订单)并将其展平。my_key_order = [*my_dict]预期输出:[7760, 340, 2305, 1258, 1738, 8294, 712, 8503, 1209, 2372]目前的做法:[*map(lambda x:my_dict[x][0], my_key_order)] 有没有其他更优雅的方法可以做得更快(可能不使用 lambda)?
1 回答
LEATH
TA贡献1936条经验 获得超6个赞
我认为列表理解看起来更简洁更简单:
[my_dict[x][0] for x in my_key_order]
这只是遍历您的订单并从字典中获取该项目,使用索引将其解包
添加回答
举报
0/150
提交
取消