Python 如何为字符串中的每个字符分配键?
这就是我被告知要做的,“编写一个python语法,要求用户输入字符串,然后创建以下字典:值是字符串中的字母,相应的键是字符串中的位置。例如,如果用户输入字符串“CSC120”,则创建字典D。 D={'C':0,'S':1,'C':2,'1':3,'2':4,'0':5}” 这是我目前的代码:Python 如何为字符串中的每个字符分配键?,python,string,dictionary,Python,String,Dictionary,这就是我被告知要做的,“编写一个python语法,要求用户输入字符串,然后创建以下字典:值是字符串中的字母,相应的键是字符串中的位置。例如,如果用户输入字符串“CSC120”,则创建字典D。 D={'C':0,'S':1,'C':2,'1':3,'2':4,'0':5}” 这是我目前的代码: usr = input('enter string here') result = '' for ch in usr: result = result + ch + ' ' print(result
usr = input('enter string here')
result = ''
for ch in usr:
result = result + ch + ' '
print(result[:-1]) #value
key = 0
while (key < len(usr)):
key = key +1 #key
print(key)
dict = {key: result}
print(dict)
这是一篇在线教程,所以我不能向教授寻求帮助,我对python/编程还不熟悉,非常感谢所有能给我的帮助
我只是不明白如何将键分配给字符串中的每个字符,使其看起来像这样:
D={'C':0,'S':1等。}您可以使用enumerate()在每个字母上迭代索引,然后从中创建dict:
In [1]: s = "CSC120"
In [2]: dict(enumerate(s))
Out[2]: {0: 'C', 1: 'S', 2: 'C', 3: '1', 4: '2', 5: '0'}
(这是一个字典,其中值是字符串中的字母,对应的键是字符串中的位置-您的示例正好相反)我不知道是谁给了您这个赋值,但是字典
D={C':0,'S':1,'C':2,'1':3,'2':4,'0':5}
在python中不存在,因为键C
是重复的,而且字典不能有重复的键……示例字典使用值作为键,位置作为值。你需要反驳解释和例子是矛盾的。根据解释,一个简单的答案是dict(enumerate(usr))
使用生成器表达式可能比列表理解更有效。
In [1]: s = "CSC120"
In [2]: dict(enumerate(s))
Out[2]: {0: 'C', 1: 'S', 2: 'C', 3: '1', 4: '2', 5: '0'}