如何从字典中的键打印特定值?

时间:2016-09-20 23:28:18

标签: python python-3.x

我们的老师向我们提出了一个挑战,即制作一个允许用户输入元素符号的程序,程序应该输出一些关于元素的信息。

要做到这一点,我必须使用词典。目前我有这个:

elements = {"Li": "Lithium" " 12" " Alkali Metal"}
element = input("Enter an elemental symbol: ")
print (elements[element])

这将打印与李有关的所有内容。

我想知道我怎么能输出,比如Alkali Metal,而不是李的所有相关产品? (是的,我知道12不是锂的原子序数)

1 个答案:

答案 0 :(得分:6)

您目前有一个字符串作为值,因此您无法可靠地执行任何操作。您需要存储可以使用子字典执行的单独值:

elements = {"Li": {"full_name":"Lithium", "num":"12", "type":"Alkali Metal"}}

然后只需使用您想要获得的特定值的键访问嵌套的dict:

In [1]: elements = {"Li": {"full_name":"Lithium", "num":"12", "type":"Alkali Metal"}}

In [2]: elements["Li"]["num"]
Out[2]: '12'

In [3]: elements["Li"]["full_name"]
Out[3]: 'Lithium'

In [4]: elements["Li"]["type"]
Out[4]: 'Alkali Metal'

如果你的字符串没有逗号分隔每个子字符串,python将创建一个字符串:

In [5]: "Lithium" " 12" " Alkali Metal"
Out[5]: 'Lithium 12 Alkali Metal'
In [6]: "Lithium","12","Alkali Metal"
Out[6]: ('Lithium', '12', 'Alkali Metal') # now its a three element tuple