Словарь списка значений для наборов - PullRequest
0 голосов
/ 13 марта 2020

РЕДАКТИРОВАНИЕ

У меня проблема с изменением значений списка index_dict на значения наборов.

Как создать словарь :

index_dict = {}

for index, val in enumerate(main_word_list): # 'main_word_list' is a list of lists

        for i in range(len(val)): # iterate through all values for a corresponding key
            if val[i] in index_dict: # Key exists in the dict
                index_set = index_dict[val[i]]
                index_set.aappend(index+1)
            else: # Key doesn't exist in the dict. 
                index_set = [index+1]) # List made as value
                index_dict[val[i]] = index_set # New key made

print (отсортировано (index_dict.items ()))

Часть вывода кода:

[('but', [1, 3, 3, 5, 5, 6, 8, 8, 8, 8, 9, 10, 11, 11, 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 19, 19, 19, 19, 19, 19, 20, 20, 22, 22, 24, 24, 25, 25, 27, 27]), ('by', [1, 1, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 8, 11, 14, 14, 16, 17, 17, 17, 17, 17, 19, 19, 21, 22, 22, 25, 26]), ('cabin', [17, 17, 17, 19])]

Например, вы можете видеть значения для ', но' имеют одно и то же значение снова и снова.

Мой wi sh для вывода:

[('but', [1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 27]), ('by', [1, 2, 4, 5, 8, 11, 14, 16, 17, 19, 21, 22, 25, 26]), ('cabin', [17, 19])]

Надеюсь, кто-нибудь может мне помочь. Спасибо!

Ответы [ 2 ]

1 голос
/ 13 марта 2020

Документация для Python set состояний

Объект set - это неупорядоченная коллекция отдельных hashable объектов. , , Будучи неупорядоченной коллекцией, наборы не записывают положение элемента или порядок вставки. Соответственно, наборы не поддерживают индексирование, секционирование или другое поведение, подобное последовательности.

Не существует механизма для управления порядком элементов в наборе. Если вы хотите поддерживать определенный порядок, преобразуйте набор в list, возможно, с помощью встроенного sorted.

1 голос
/ 13 марта 2020
Набор

Python не может быть сохранен ни в каком порядке. Вместо go со списком, если вы хотите отсортировать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...