Python-将字典键映射到字符串整数,避免重复



我需要创建一个字典来进行一些映射,比如:

mapping = {x: x.split('_')[0] for x in G}

返回:

{'0_cerebellum': '0', '1_cerebellum': '1', '0_cortex': '0', '1_cortex': '1'}

但这会让我重复,我需要唯一的字符串int作为值。


现在,一旦分裂类"小脑"达到其最后一个"n"字符串索引(此处为"1"(,我如何保持从分裂类"皮层"的n+1、n+2(依此类推(值开始的映射,最终为:

{'0_cerebellum': '0', '1_cerebellum': '1', '0_cortex': '2', '1_cortex': '3'}

据我所知,使用enumerate应该可以得到结果。

G = ['0_cerebellum', '1_cerebellum', '0_cortex', '1_cortex']
mapping = {key: str(uniqueNum) for uniqueNum,key in enumerate(G)}

输出:

{'0_cerebellum': '0', '1_cerebellum': '1', '0_cortex': '2', '1_cortex': '3'}

使用enumerate():

>>> l = ['test', 'foo', 'None', 'Bar']
>>> enumerate(l)
<enumerate object at 0x00000258DE241340>
>>> list(enumerate(l))
[(0, 'test'), (1, 'foo'), (2, 'None'), (3, 'Bar')]

这是您的最终代码:

mapping = {x: str(i) for i, x in enumerate(G)}

相关内容

  • 没有找到相关文章

最新更新