假设我有重复的单词列表:
["Apple", "Orange", "Grape", "Orange", "Watermelon", "Apple", "Grape"]
我需要将它们放入字典中,以便每个单词都按升序排列:
{1 : "Apple", 2 : "Orange", 3 : "Grape", 4: "Watermelon"}
订单基于首先出现的单词.如果首先出现"Apple",它将具有密钥 1 ,如果将来出现"Apple",它将被忽略,因为"Apple"已包含在1中.如果"Apple"出现在"Apple"之后,它将具有关键 2 .因此,键值对以升序添加.
我没有添加和检查重复的问题,但我正在努力使按键按升序排列.有线索吗?
如果您不介意导入:
>>> 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)
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |