Словарь, использующий различные символы в качестве значений - PullRequest
0 голосов
/ 25 июня 2019

Мне нужно создать словарь, используя список строк в качестве ключей и их различные символы в качестве значений.

Я попробовал некоторые функции и получил следующий код, но я не могу добавить строковый ключ в него

value=["check", "look", "try", "pop"]
print(value)
def distinct_characters(x):
    for i in x:
        yield dict (i=len(set(i)))
print (list(distinct_characters(value))

Я бы хотел получить

{ "check" : 4, "look" : 3, "try" : 3, "pop" : 2} 

но я продолжаю получать

{ "i" : 4, "i" : 3, "i" : 3, "i" : 2}

Ответы [ 3 ]

1 голос
/ 25 июня 2019

Рассмотрим простое понимание словаря:

value = ["check", "look", "try", "pop"]
result = {key: len(set(key)) for key in value}
print(result)
1 голос
/ 25 июня 2019

Ну, строка сама по себе является итеративной, поэтому не вызывайте список по dicts, вместо этого вызывайте dict в списке кортежей, как показано ниже.

value=["check", "look", "try", "pop"]
print(value)
def distinct_characters(x):
    for i in x:
        yield (i, len(set(i)))
print(dict(distinct_characters(value)))

Вывод:

{'check': 4, 'look': 3, 'try': 3, 'pop': 2}
0 голосов
/ 25 июня 2019

Спасибо за ответы, мне нужно было ответить на него в качестве функции для упражнения в классе, поэтому я в итоге использовал этот код:

value=["check", "look", "try", "pop"]
print(value)
def distinct_characters(x):
    for i in x:
        yield (i, len(set(i)))
print(dict(distinct_characters(value)))

Еще раз спасибо

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