为唯一键值对创建UUID,同时保持字典完整性

时间:2013-07-01 00:22:21

标签: python dictionary uuid

我有一个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生成器。这是考虑它的正确方法吗?或者有更聪明/更容易/通常不那么愚蠢的方式吗?我很难想象这个,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

uuidmap = {}
for d in L:
  if d['color'] not in uuidmap:
    uuidmap[d['color']] = generateUUID()
  d['UUID'] = uuidmap[d['color']]