Python преобразовать список в словарь в алфавитном порядке - PullRequest
0 голосов
/ 01 мая 2020

Как преобразовать список, например

['and', 'power', 'car', 'abc', 'pen', 'doctor', 'pig']

в словарь в алфавитном порядке

{A 1: 'abc', A 2: 'and', C 1: 'car', D 1: 'doctor', P 1: 'pen', P 2: 'pig', P 3: 'power'}

1 Ответ

2 голосов
/ 01 мая 2020

Вставка Dict теперь сохраняет порядок, но если вы используете более старую версию Python, вам нужно использовать OrderedDict.

lst = ['and', 'power', 'car', 'abc', 'pen', 'doctor', 'pig']
lst.sort() # in-place

d = {}
i = 1
for item in lst: 
    if item[0].upper() in [k[0] for k in d.keys()]: 
        i += 1 
    else: 
        i = 1 
    d[item[0].upper() + ' ' + str(i)] = item

Результат:

In [92]: d
Out[92]: 
{'A 1': 'abc',
 'A 2': 'and',
 'C 1': 'car',
 'D 1': 'doctor',
 'P 1': 'pen',
 'P 2': 'pig',
 'P 3': 'power'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...