Как создать словарь из списка строк с одинаковым ключом, значение в python - PullRequest
0 голосов
/ 06 января 2020

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

Список: file_names = ['a', 'bb', 'ccc', 'ad', 'rsb']

Требуемый словарь:

file_names = {'a': 'a', 'bb':'bb', 'ccc': 'ccc', 'ad': 'ad', 'rsb':'rsb'}

Я хочу, чтобы каждый элемент списка был в качестве ключа, а также точно иметь этот элемент в качестве значения для этого ключа. Каков наилучший (самый быстрый) способ создания такого словаря в python, в частности python 2?

1 Ответ

4 голосов
/ 06 января 2020

Пожалуйста, рассмотрите возможность использования set вместо этого, если все, что вам нужно sh, это проверить, находится ли элемент в коллекции. Это дает вам O(1) сложность для членских тестов. Вы можете преобразовать list в set, выполнив

file_names = set(['a', 'bb', 'ccc', 'ad', 'rsb'])
file_names = set(file_names)

Затем вы можете проверить членство, просто набрав

if file_name in file_names:
...