Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何为字符串中的每个字符分配键?_Python_String_Dictionary - Fatal编程技术网

Python 如何为字符串中的每个字符分配键?

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

这就是我被告知要做的,“编写一个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[:-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'}