Python 3-如何切换字典大小写然后添加数值

时间:2018-11-16 15:59:07

标签: python string dictionary

所以我有这个字符串

"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 :(得分:2)

您将获得第一本词典

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

请注意,键'L'仅出现一次,因为字典键是唯一的。

因此无法创建第二个所需字典。

但是,如果您只关心最后一个字符串,则无需创建任何dict,因为:

>>> ''.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'