set的特点

set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。

set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。

最后,set存储的元素也是没有顺序的。

set的这些特点,可以应用在哪些地方呢?

星期一到星期日可以用字符串'MON', 'TUE', ... 'SUN'表示。

假设我们让用户输入星期一至星期日的某天,如何判断用户的输入是否是一个有效的星期呢?

可以用 if 语句判断,但这样做非常繁琐:

x = 'MON' # 用户输入的字符串
if x == 'MON' or x == 'TUE' or x == 'WED' or x == 'THU' or x == 'FRI' or x == 'SAT'or x != 'SUN':
print ('input ok')
else:
print ('input error')

  

如果事先创建好一个set,包含'MON' ~ 'SUN':

weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])
x = 'MON' # 用户输入的字符串
if x in weekdays:
print ('input ok')
else:
print ('input error')

  

这样一来,代码就简单多了。

最新文章

  1. ASP.NET MVC Model绑定(三)
  2. 安全测试 - CSRF攻击及防御
  3. Jmeter性能测试入门(链接收藏)
  4. 【LeetCode OJ】Flatten Binary Tree to Linked List
  5. 【poj1006】 Biorhythms
  6. Android横竖屏切换继续播放视频
  7. 在 VC6 中使用 GdiPlus-使用
  8. secureFX中出现中文乱码修改方法
  9. Android从相册读取图片
  10. /system改成可写
  11. JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
  12. SSM项目手动分页详解
  13. 精彩源于起点——2018年潍坊市首次青少年Python编程公开课
  14. 杭电ACM2014--青年歌手大奖赛_评委会打分
  15. vue使用矢量图
  16. IP分片与重组详解
  17. Python 使用 face_recognition 人脸识别
  18. qvalue: Check that you have valid p-values or use a different range of lambda
  19. iOS开发-UITableView自定义Cell
  20. UVA10066

热门文章

  1. Codeforces 1129 D. Isolation
  2. BZOJ 4036: [HAOI2015]按位或 集合幂函数 莫比乌斯变换 莫比乌斯反演
  3. 【2-SAT】【DFS】【分类讨论】Gym - 101617K - Unsatisfying
  4. [CodeForces-178F]Representative Sampling
  5. 在活动中使用菜单(Menu)
  6. TortoiseSVN 修改密码
  7. HTML5开发的翻页效果实例
  8. Visual Studio删除所有的注释和空行
  9. javascript比较两个时间大小
  10. 创建一个简单的windows服务,每间隔一定时间重复执行批处理文件