以升序将键值对添加到字典中

qia*_*aop 0 python

假设我有重复的单词列表:

["Apple", "Orange", "Grape", "Orange", "Watermelon", "Apple", "Grape"]

我需要将它们放入字典中,以便每个单词都按升序排列:

{1 : "Apple", 2 : "Orange", 3 : "Grape", 4: "Watermelon"}

订单基于首先出现的单词.如果首先出现"Apple",它将具有密钥 1 ,如果将来出现"Apple",它将被忽略,因为"Apple"已包含在1中.如果"Apple"出现在"Apple"之后,它将具有关键 2 .因此,键值对以升序添加.

我没有添加和检查重复的问题,但我正在努力使按键按升序排列.有线索吗?

DSM*_*DSM 5

如果您不介意导入:

>>> from collections import OrderedDict
>>> s = ["Apple", "Orange", "Grape", "Orange", "Watermelon", "Apple", "Grape"] 
>>> dict(enumerate(OrderedDict.fromkeys(s), 1))
{1: 'Apple', 2: 'Orange', 3: 'Grape', 4: 'Watermelon'}
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为生成OrderedDict.fromkeys一个有序的字典,其中订单是插入顺序:

>>> OrderedDict.fromkeys(s)
OrderedDict([('Apple', None), ('Orange', None), ('Grape', None), ('Watermelon', None)])
Run Code Online (Sandbox Code Playgroud)