课程
/后端开发
/Python
/初识Python
s = set({'Adam': 95, 'Lisa': 85, 'Bart': 59})for x in s: print(x+':', s[key])
2017-03-27
源自:初识Python 6-9
正在回答
set里存的是list,你可以把for循环去掉,直接print s看看结果,结果是{'Lisa', 'Adam', 'Bart'},后面的分数就没了,例子里用了元组,所以名字和分数可以对应,而且也不是s[key],
“由于set存储的是无序集合,所以我们没法通过索引来访问。
访问 set中的某个元素实际上就是判断一个元素是否在set中。“
6-7第一句原文
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
set中只能包含list形式的元素,你这从根本上就错了
Sail608 提问者
在你的例子里set只存储dict的key值,所以当你print(s[key])的时候就会报错,并且这里key也是没有声明的。
难道set里面有映射关系吗?
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序