【发布时间】:2017-06-29 00:55:06
【问题描述】:
字典的值和键都可以是python中的整数吗?还是我需要其中一个像字符串或其他东西?
【问题讨论】:
标签: python
字典的值和键都可以是python中的整数吗?还是我需要其中一个像字符串或其他东西?
【问题讨论】:
标签: python
当然!来自 python 文档:
5.5。字典
Python 中内置的另一种有用的数据类型是字典(请参阅映射类型 - dict)。字典有时在其他语言中被称为“关联记忆”或“关联数组”。与由一系列数字索引的序列不同,字典由键索引,可以是任何不可变类型;字符串和数字总是可以作为键。如果元组仅包含字符串、数字或元组,则元组可以用作键;如果元组直接或间接包含任何可变对象,则不能将其用作键。您不能将列表用作键,因为可以使用索引分配、切片分配或 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)}
【讨论】:
integers,不知道是保留还是改成string。感谢您的回答,并帮助我解决这个问题!
当然。 举一个非常简单的例子: 在python解释器中,输入:
a = {1:2} # define an dict
a[1] # get the value whose key is 1
然后你会得到put 2。
【讨论】:
任何不可变的都可以是字典键。像字符串,数字,元组等。 不能作为键的类型是可变实体,如列表、集合等。
【讨论】:
键总是一个字符串。它可以是一个数字,但它始终是一个字符串。
是的。
https://docs.python.org/3/tutorial/datastructures.html#dictionaries
"...可以是任何不可变类型;字符串和数字总是可以 钥匙……”
【讨论】: