在python中对dict的值应用函数

我有这样的字典,其中的值本身就是一个列表。


import random

dict_size = 10

my_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)?


慕虎7371278
浏览 153回答 1
1回答

LEATH

我认为列表理解看起来更简洁更简单:[my_dict[x][0] for x in my_key_order]这只是遍历您的订单并从字典中获取该项目,使用索引将其解包
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python