Python 使用用户输入填写词典的说明
我能解释一下代码Python 使用用户输入填写词典的说明,python,dictionary,user-input,Python,Dictionary,User Input,我能解释一下代码响应[名称]=response?我真的不明白那一行是如何在字典中存储用户输入的。(如果这就是代码看起来奇怪的原因,那么这是Python速成教程的练习。) responses是字典。当您在while循环中循环时,名称将作为键存储在字典中,响应将作为值存储。所以基本上这个 responses[name] = response 就是说,在循环的每次迭代中,取给定的名称,将其存储为键,取响应并将其存储为值。字典本身就是一种将键分配给项目的方法,然后可以使用这些键查找项目。简单地说,这就
响应[名称]=response
?我真的不明白那一行是如何在字典中存储用户输入的。(如果这就是代码看起来奇怪的原因,那么这是Python速成教程的练习。)
responses
是字典。当您在while
循环中循环时,名称将作为键存储在字典中,响应将作为值存储。所以基本上这个
responses[name] = response
就是说,在循环的每次迭代中,取给定的名称
,将其存储为键,取响应
并将其存储为值。字典本身就是一种将键分配给项目的方法,然后可以使用这些键查找项目。简单地说,这就像是一个住址。地址是房子的标识
让我们看一些代码,以分解responses[name]=response
从一本空字典开始
responses={}
看字典里的键
responses.keys()
dict_键([])
我们可以看到没有键(或前面示例中的地址),因为它返回空列表[]
如何向已经存在的字典添加密钥?一个选项是使用括号语法添加它
在本例中,我们将添加密钥(或地址)'123 main street'
,这是一个字符串,值为'Our Nice Private Home'
,这也是一个字符串
responses['123 main street]=“我们美好的私人住宅”
现在钥匙看起来像什么
responses.keys()
录音键(['123大街])
您可以看到“123 main street”键已添加到字典中
在您的示例中,responses[name]=response
response
是字典,name
包含用户在提示后输入的内容你叫什么名字?
和response
包含用户在提示后输入的内容你有一天会爬哪座山?
你很不清楚自己在想什么。这就是设置dictionary元素的语法。如果你对此不确定,也许你需要多读一点。有什么不知道的?它将键name
分配给dictresponses
中的值response
。你还没有学过口授吗?如果没有,您可以查看。谢谢,我想我现在就知道了。等等,如果输入的名称是john,mountain是珠穆朗玛峰,它会将john作为键,将response作为值存储在responses dictionary中吗?@Arekusandaa是的,这是正确的。您可以打开一个python解释器,初始化一个空字典,并在那里试验代码。复制/粘贴到解释器中:d={};name=“Jacob”;response=“Eyjafjällajökull”;d[名称]=响应;打印(d)
。这也许可以解释它的工作原理。@HampusLarsson是的,这更好地解释了它。因此,在您创建的示例中,它是否创建了一个名为d的字典、一个名为jacob的字符串和一个名为Eyjafjällajökull的字符串。然后,它会将雅各布作为字典d中的键,将埃亚菲亚·阿拉杰·库尔作为值。然后它会打印{'Jacob':'Eyjafjällajökull'}。如果是这样的话,那就谢谢你了。@Arekusanda完全正确。是的,非常感谢!我想我只是有一个大脑放屁,一秒钟都听不懂。所以,如果输入的名字是约翰,回答是珠穆朗玛峰,那么关键是“约翰”和“珠穆朗玛峰”的值。那么在最后一行,它会打印约翰想攀登珠穆朗玛峰吗?如果是这样,那就非常感谢!确切地当调用响应中的名称、响应时,他们正在进行一些复杂的元组解压。items():
,但听起来您似乎理解这一部分。如果是希腊语。我建议用谷歌搜索“python元组解包”。你会发现一些伟大的资源,可以解释元组解包也。谢谢!这个例子没有提到任何关于元组解包的内容(可能是因为它太高级了),但是我现在理解了这个例子。我确实知道使用.items()获取键值对的整个过程,但我认为这个示例和语法让我感到困惑。最后,我们终于到了,谢谢!不客气。我不会担心元组解包,直到他们找到它。我很高兴我能帮上忙!
responses[name] = response