wbzxz 发表于 2024-7-1 06:40:59

请各位大神讲解以下这个题

本帖最后由 wbzxz 于 2024-7-1 06:43 编辑

请问下面哪个是对的?

>>> a = {99:"吕布", 90:"关羽", 60:"刘备"}
>>> b = dict(99:"吕布", 90:"关羽", 60:"刘备")
>>> c = dict(99="吕布", 90="关羽", 60="刘备")
>>> d = dict([(99, "吕布"), (90, "关羽"), (60, "刘备")])
>>> e = dict({99:"吕布", 90:"关羽", 60:"刘备"})
>>> f = dict({99="吕布", 90="关羽", 60="刘备"})
>>> h = dict({99:"吕布", 90:"关羽"}, 60="刘备")
>>> i = dict(zip(, ["吕布","关羽","刘备"]))

请大神看看,哪个字典赋值语句是对的,为什么是对的和错的?

谢谢大家。


正确答案是a、d、e、i。

FishC 发表于 2024-7-1 06:44:34

嗨,我是你的Python导游,带你领略代码之美。下面一起来看这题:

在Python中,创建字典有多种方法,我们先整理一下你的题目里的8个语句,然后逐一进行剖析。

1. a = {99:"吕布", 90:"关羽", 60:"刘备"}

这个语句没有问题,是直接定义字典的方式,也是最常见的。就好比说,吕布出场了,他的战斗力是99;关羽出场了,他的战斗力是90;刘备出场了,他的战斗力是60。

2. b = dict(99:"吕布", 90:"关羽", 60:"刘备")

这个语句有问题,用dict创建字典时不能使用":"作为键值对的分隔。这就像你对别人介绍这三个人,却忘记用"是"来构建完整的句子。

3. c = dict(99="吕布", 90="关羽", 60="刘备")

这个语句也有问题,虽然看上去像是用dict创建字典,但是键不能是数字,而应该是字符串。这就好比你用编号来点名,结果忘记了把编号转成具体的名字。

4. d = dict()

这个语句正确,这样可以创建一个空字典,就像你准备了一个空盒子,随时可以放入新的东西。

5. e = dict({99:"吕布", 90:"关羽", 60:"刘备"})

这个语句正确,这是用dict函数,传入一个已经存在的字典,创建了一个新的字典。就像你抄了一份旧的名单,准备后续进行修改。

6. f = dict({99="吕布", 90="关羽", 60="刘备"})

这个语句是错误的,同上,键值对需要用":"分隔。

7. h = dict({99:"吕布", 90:"关羽"}, 60="刘备")

这个语句是错误的,dict函数只能传入一个参数,但这里传入了两个。

8. i = dict(zip(, ))

这个语句是错误的,因为zip函数的参数丢失了。如果能补上,例如下面的形式,那么是正确的:
i = dict(zip(,["吕布","关羽","刘备"]))

这个构建字典的方法稍显复杂,像是在玩拼图,将两个列表"压缩"在一起,形成了键值对。

所以,对的语句有1,4,5,其他的都是有错误的。希望解答能帮到你,感谢提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 请各位大神讲解以下这个题