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

高手来解惑。。。

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
   print x[0] + ':', x[1]
谁可以告诉我为什么 print x[0] + ':', x[1] 的x[0]表示的就是前面的名字而x[1]则表示后面的数字?

如果里面是tuple,为什么不是x[0]表示Adam ,95呢?

还有就是

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
   print s[0] + ':', s[1]

为什么不行呢?


正在回答

1 回答

因为for循环这里遍历出来的是3个tuple,分别是('Adam', 95),('Lisa', 85),('Bart', 59),然后每个tuple包含两个元素,因为tuple是有序集合,所以可以通过下标访问,下标从0开始,所以x[0]就是'姓名',x[1]就是'分数'。而你说的为什么s[0]不行,这是因为set是无序集合,不能通过下标访问

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

大大的鸟 提问者

非常感谢您的帮助
2015-10-14 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

高手来解惑。。。

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