我想我错过了一些基本的东西。我试图将一个字符串分割成一个以键作为索引和值作为字符的dict。
instring = 'aabc'
stringmap = {instring.index(i): i for i in instring}
When I print stringmap: {0: 'a', 2: 'b', 3: 'c'}我还以为
{0: 'a', 1: 'a', 2: 'b', 3: 'c'}我遗漏了什么?索引值是正确的,但重复项不是dict的一部分。
发布于 2021-02-20 20:13:54
index(i)方法总是返回第一次出现的索引。这就是为什么您会得到重复的键(即字母a的两个实例为零)。
简单地将枚举添加到dict构造函数中就可以做到这一点:
stringmap = dict(enumerate(instring))发布于 2021-02-20 20:04:06
嘿,山姆,你可以用这个解决你的问题。
string = "sohaib"
{index:i for index,i in enumerate(string)}答案
{0: 's', 1: 'o', 2: 'h', 3: 'a', 4: 'i', 5: 'b'}https://stackoverflow.com/questions/66295979
复制相似问题