我有一个dicts列表
[{'fruit': 'apple', 'color' : 'green', 'UUID':''}, {'fruit': 'guava', 'color': 'green','UUID':''}, {'fruit': 'pear', 'color': 'green','UUID':''},{'fruit':'banana','color':'yellow'}]
我正在尝试按颜色创建UUID。例如,我想要苹果,番石榴和梨,它们都有键值对'color' : 'green'
来共享一个UUID,而'banana',它有一个键值对'color' : 'yellow'
到拥有自己的UUID。
似乎我想在dicts列表上进行某种groupby-esque操作,然后应用UUID生成器。这是考虑它的正确方法吗?或者有更聪明/更容易/通常不那么愚蠢的方式吗?我很难想象这个,任何帮助都会受到赞赏。
答案 0 :(得分:2)
uuidmap = {}
for d in L:
if d['color'] not in uuidmap:
uuidmap[d['color']] = generateUUID()
d['UUID'] = uuidmap[d['color']]