Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 9094|回复: 0
打印 上一主题 下一主题

Python之 set的特点

[复制链接]

338

主题

341

帖子

1739

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1739
跳转到指定楼层
楼主
发表于 2017-6-28 22:38:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
最后,set存储的元素也是没有顺序的。
set的这些特点,可以应用在哪些地方呢?
星期一到星期日可以用字符串'MON', 'TUE', ... 'SUN'表示。
假设我们让用户输入星期一至星期日的某天,如何判断用户的输入是否是一个有效的星期呢?
可以用 if 语句判断,但这样做非常繁琐:
x = '???' # 用户输入的字符串if x!= 'MON' and x!= 'TUE' and x!= 'WED' ... and x!= 'SUN':    print 'input error'else:    print 'input ok'
注意:if 语句中的...表示没有列出的其它星期名称,测试时,请输入完整。
如果事先创建好一个set,包含'MON' ~ 'SUN':
weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])
再判断输入是否有效,只需要判断该字符串是否在set中:
x = '???' # 用户输入的字符串if x in weekdays:    print 'input ok'else:    print 'input error'
这样一来,代码就简单多了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|飞克网 ( 皖ICP备16023507号 )

GMT+8, 2024-12-22 17:34 , Processed in 0.113540 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表