Python 3 - Как переключить регистр словаря, а затем добавить числовые значения - PullRequest
0 голосов
/ 16 ноября 2018

Итак, у меня есть эта строка

"Hello"

Я хочу преобразовать это в заглавный словарь с пустыми значениями что-то вроде:

{ "H":0, "E":0, "L":0, "L":0, "O":0 }

и затем я хочу применить диапазон значений к слотам значений, используя цикл for:

{ "H":1, "E":2, "L":3, "L":4, "O":5 }

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

"HEELLLLLLLOOOOO" 

1 Ответ

0 голосов
/ 16 ноября 2018

Вы получаете первый словарь с

>>> s = "Hello"
>>> d = dict.fromkeys(s.upper(), 0)
>>> d
>>> {'E': 0, 'H': 0, 'L': 0, 'O': 0}

Обратите внимание, что ключ 'L' появляется только один раз, потому что ключи словаря уникальны.

Поэтому создать второй нужный словарь невозможно.

Но если вам важна только последняя строка, создавать какой-либо диктат не нужно, потому что:

>>> ''.join(c*i for i, c in enumerate(s.upper(), 1))
>>> 'HEELLLLLLLOOOOO'

Если это выглядит сложно, просто используйте простой цикл for.

>>> to_join = []
>>> for i, c in enumerate(s.upper(), 1):
...:    to_join.append(c*i)
...:    
>>> result = ''.join(to_join)
>>> result
>>> 'HEELLLLLLLOOOOO'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...