Python 用整数替换字典中的键

Python 用整数替换字典中的键,python,dictionary,Python,Dictionary,对于字典中的所有键,如何用从1开始的自然数替换该字典中的键 my_dict = {k:v for k, v in sorted_freq} # sorted_freq is a list containing key:value. {'like': 4870, 'taste': 4508, 'good': 3569, 'flavor': 3449, 'one': 3217, 'product': 3197, 'use': 3165, 'love': 3141, 'great': 3056, '

对于字典中的所有键,如何用从1开始的自然数替换该字典中的键

my_dict = {k:v for k, v in sorted_freq} # sorted_freq is a list containing key:value. 
{'like': 4870,
'taste': 4508,
'good': 3569,
'flavor': 3449,
'one': 3217,
'product': 3197,
'use': 3165,
'love': 3141,
'great': 3056,
'eat': 1614...}
如果从字典开始:

您可以尝试在字典理解中使用enumerate,但请注意,字典不保证按顺序排列:

如果从刚刚在编辑中发布的元组列表开始:


你怎么知道这些号码的顺序?并非所有版本的pythoncan都会对字典进行排序。你能告诉我们你尝试了什么以及你犯了什么错误吗?@patrickhaugh我不同意重复的说法。应用到这个问题上太过激了。它甚至不适用于字典。与其替换字典中的键,不如使用带有排序列表的枚举创建字典。这样,即使字典不会被订购,数字也会被订购。@roganjosh我不同意。我认为这里寻求的解决方案是创建一个dict{I:v for I,k,v in enumerate_freq,1},问题代码中唯一缺少的部分是enumerate
 [('like', 4870),
 ('tast', 4508),
 ('good', 3569),
 ('flavor', 3449),
 ('one', 3217),
 ('product', 3197),
 ('use', 3165),
 ('love', 3141),
 ('great', 3056),
 'get', 2400)...]
{i:v for i,(k,v) in enumerate(my_dict.items(), 1)}

{1: 4870, 2: 4508, 3: 3569, 4: 3449, 5: 3217, 6: 3197, 7: 3165, 8: 3141, 9: 3056, 10: 1614}
sorted_freq = [('like', 4870),
 ('tast', 4508),
 ('good', 3569),
 ('flavor', 3449),
 ('one', 3217),
 ('product', 3197),
 ('use', 3165),
 ('love', 3141),
 ('great', 3056),
 ('get', 2400)]


{i:v for i,(k,v) in enumerate(sorted_freq, 1)}