avw*_*ter 2 python string dictionary
我有一个叫做的字符串sentence:'the sly fox jumped over the brown dog'
我需要创建一个名为的字典Positions.键Positions应该是中的字符sentence.值应该是这些字符的索引.
例如,所需的输出将是:
{'t':0, 'h':1, 'e':2, ' ':3 ...} 等等
当然我可以手动写出来,但我想我实际上被要求将字符串转换为键而不用手动写出来.
到目前为止,我刚刚创建了一个空字典,并尝试在事件发生后为其分配键和值:
Positions = {}
Run Code Online (Sandbox Code Playgroud)
我是从错误的脚开始的吗?
你可以这样做:
result = {}
s = 'the sly fox jumped over the brown dog'
for i, c in enumerate(s):
result.setdefault(c, []).append(i)
print(result)
Run Code Online (Sandbox Code Playgroud)
产量
{'m': [14], 'e': [2, 16, 21, 26], 'v': [20], 's': [4], 'n': [32], 'h': [1, 25], 'w': [31], 'l': [5], 'o': [9, 19, 30, 35], 'x': [10], 'p': [15], 'd': [17, 34], 'g': [36], 't': [0, 24], 'u': [13], 'f': [8], 'y': [6], 'b': [28], 'j': [12], ' ': [3, 7, 11, 18, 23, 27, 33], 'r': [22, 29]}
Run Code Online (Sandbox Code Playgroud)
注意,上述解决方案考虑了重复字符的情况,并且它创建了索引列表.
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |