Как я могу преобразовать строку в словарь, а затем отсортировать значения dict в алфавитном порядке?

#python #string #sorting #dictionary

Вопрос:

Как я могу преобразовать строку в словарь без дубликатов, а затем отсортировать значения в алфавитном порядке?

 string = """Luke:sportnDick:hikenLisa:gamenLuke:craftnDick:hikenLuke:craftnDick:craft"""
 

ожидаемый результат:
{Luke: [sport, craft], Lisa: [game], Dick: [hike, craft]}

ожидаемые выходные данные после сортировки значений в алфавитном порядке: {Luke: [craft, sport], Lisa: [game], Dick: [craft, hike]}

Комментарии:

1. В данном конкретном случае нет кратчайшего пути с одной строкой. Что вы пробовали до сих пор? На самом деле это не такая уж сложная проблема. Разделите, затем зациклите создание диктанта.

2. я пробовал: dictionary = dict((k.strip(), v.strip()) for k, v in (p.split(':') for p in data.split('n'))) сделать строку под диктовку, но всегда получаю ошибку: «Ошибка значения: слишком много значений для распаковки(ожидается 2)

3. Верно. Это проблема с данными. У вас "" после 5-й строки нет "n" .

4. Короче: dct = dict( line.split(":") for line in string.splitlines() ) , поэтому, когда я сказал, что не было однострочного, я солгал.

5. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.