|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
93页上面注意里写了:
字典的键必须独一无二,但值则不必。值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
这里有疑问的点就是,值应该是可以取可变类型的,比如小甲鱼上课讲了
d = {"吕布": [60, 70, 80], "关羽": [80, 90, 70]}
这个字典里,值可以为列表,列表不是可以变的吗?
书本这里的描述确实存在笔误,非常高兴你能发现并提出这个问题!
正确的概念是:
- 字典的键(Key):必须独一无二,并且必须是不可变的(immutable)数据类型,如字符串、数字(整数、浮点数)或元组。
- 字典的值(Value):可以是 任何类型 的数据,没有任何限制。既可以是不可变的(如字符串、数字、元组),也可以是可变的(如列表、字典、集合)。
你举的例子完全正确,字典的值可以是列表:
- # 值使用可变类型(列表)是完全合法的
- d = {"吕布": ["口口布", "马中赤兔"], "关羽": ["关云长", "美髯公"]}
- # 也可以存放其他可变类型
- d2 = {
- "班级": ["小明", "小红", "小刚"], # 值:列表
- "信息": {"年龄": 18, "成绩": 90}, # 值:字典(另一个字典)
- "元组键": (1, 2) # 值:元组(不可变)
- }
复制代码
所以,你可以放心地使用列表、字典等可变类型作为字典的值。书本上关于值的描述应为“ 值可以取任何数据类型”。
简单总结:
- 键:像“身份证号”,必须唯一且不能变(不可变类型)。
- 值:像“个人信息”,可以随便改,可以是任何东西(任意类型)。
希望这个解释清楚了!学习时能这样思考和质疑,是非常棒的!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
评分
-
| 参与人数 1 | 荣誉 +6 |
鱼币 +6 |
贡献 +6 |
C币 +6 |
收起
理由
|
小甲鱼
| + 6 |
+ 6 |
+ 6 |
+ 6 |
感谢勘误~ |
查看全部评分
|