Py学习  »  Python

Python3-如何切换字典的大小写,然后添加数值

Finstercode • 6 年前 • 1639 次点击  

所以我有这根绳子

"Hello"

我想把它转换成一个带空值的大写字典 类似于:

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

然后我想使用for循环将一系列值应用到值槽中:

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

最后,使用这些值将字母及其赋值打印出来,如下所示:

"HEELLLLLLLOOOOO" 
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48084
文章 [ 1 ]  |  最新文章 6 年前
timgeb
Reply   •   1 楼
timgeb    7 年前

你拿到第一本字典

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