要用重复项记录的字符串

2024-09-29 01:23:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想我缺少一些基本的东西。我试图将一个字符串拆分成一个dict,key作为索引,value作为字符

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的一部分


Tags: key字符串inforindexvalue副本字符
2条回答

嘿,山姆,你可以用这个解决你的问题

string = "sohaib"

{index:i for index,i in enumerate(string)}

回答

{0: 's', 1: 'o', 2: 'h', 3: 'a', 4: 'i', 5: 'b'}

index(i)方法总是返回第一次出现的索引。这就是为什么会得到重复的键(即字母a的两个实例都为零)

只需将enumerate馈送到dict构造函数即可:

stringmap = dict(enumerate(instring))

相关问题 更多 >