为了账号安全,请及时绑定邮箱和手机立即绑定

如果set里面是dict,怎么输出?我下面的为什么不行

s = set({'Adam': 95, 'Lisa': 85, 'Bart': 59})
for x in s:
   print(x+':', s[key])

正在回答

5 回答

set里存的是list,你可以把for循环去掉,直接print s看看结果,结果是{'Lisa', 'Adam', 'Bart'},后面的分数就没了,例子里用了元组,所以名字和分数可以对应,而且也不是s[key],

“由于set存储的是无序集合,所以我们没法通过索引来访问。

访问 set中的某个元素实际上就是判断一个元素是否在set中。“

6-7第一句原文


0 回复 有任何疑惑可以回复我~
s = set(['Adam', 'Lisa', 'Bart'])
print(s)
for x in s:
   print(x)


s = set({'Adam':90, 'Lisa':80, 'Bart':23})
print(s)
for x in s:
   print(x)

打印结果是一样的,如下:

{'Adam', 'Bart', 'Lisa'}
Adam
Bart
Lisa

{'Adam', 'Bart', 'Lisa'}
Adam
Bart
Lisa


0 回复 有任何疑惑可以回复我~

set中只能包含list形式的元素,你这从根本上就错了

1 回复 有任何疑惑可以回复我~
#1

Sail608 提问者

谢谢你的解答
2017-03-27 回复 有任何疑惑可以回复我~

在你的例子里set只存储dict的key值,所以当你print(s[key])的时候就会报错,并且这里key也是没有声明的。

0 回复 有任何疑惑可以回复我~

难道set里面有映射关系吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

如果set里面是dict,怎么输出?我下面的为什么不行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信