字典的值和键都可以是整数吗?

时间:2017-06-29 00:55:07

标签: python

字典的值和键都可以在python中是整数吗?或者我是否需要其中一个像字符串或什么?

3 个答案:

答案 0 :(得分:10)

当然!来自python docs:

  

5.5。字典

     

Python内置的另一个有用的数据类型是字典(请参阅映射类型 - 字典)。词典有时在其他语言中被称为“关联记忆”或“关联阵列”。与由一系列数字索引的序列不同,字典由键索引,可以是任何不可变类型;字符串和数字可以始终是键。如果元组仅包含字符串,数字或元组,则它们可用作键;如果元组直接或间接包含任何可变对象,则不能将其用作键。您不能将列表用作键,因为可以使用索引赋值,切片赋值或append()和extend()等方法对列表进行修改。

您也可以超级快速地尝试:

>>> dict = {1:0, 2:1}
>>> dict[1]
0
>>> dict[2]
1

我喜欢页面上的一个例子,因为它使用字典理解(2.7+中的新功能),其功能类似于函数:

>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}

因为它适用于任何不可变类型,你甚至可以使用浮点数作为键:

>>> {x: x**2 for x in (1, 1.5, 2)}
{1: 1, 1.5: 2.25, 2: 4}

同样,python中另一个常见的不可变类型是元组,(..., ..., ...),您也可以将其用于键:

>>> {(x,y): (x**2,y**2) for x in range(3) for y in range(2)}
{(0, 0): (0, 0), 
(0, 1): (0, 1), 
(1, 0): (1, 0), 
(1, 1): (1, 1), 
(2, 0): (4, 0), 
(2, 1): (4, 1)}

答案 1 :(得分:0)

当然。 举一个非常简单的例子: 在python解释器中,输入:

if len(resultDict) == 0

然后你会退出2。

答案 2 :(得分:-5)

键始终是一个字符串。它可以是一个数字,但它总是一个字符串。

https://docs.python.org/3/tutorial/datastructures.html#dictionaries

  

" ...可以是任何不可变类型;字符串和数字总是可以的   键..."