Python之 set的特色

Python之 set的特色

set的内部结构和dict很像,惟一区别是不存储value,所以,判断一个元素是否在set中速度很快测试

set存储的元素和dict的key相似,必须是不变对象,所以,任何可变对象是不能放入set中的。spa

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

set特色:速度快、元素不可变、存储的元素没有顺序对象

 

set的这些特色,能够应用在哪些地方呢?ip

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

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

能够用 if 语句判断,但这样作很是繁琐:io

x = '???' # 用户输入的字符串
if x!= 'MON' and x!= 'TUE' and x!= 'WED' ... and x!= 'SUN':
    print 'input error'
else:
    print 'input ok'

注意:if 语句中的...表示没有列出的其它星期名称,测试时,请输入完整。class

若是事先建立好一个set,包含'MON' ~ 'SUN':error

weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])

再判断输入是否有效,只须要判断该字符串是否在set中:

x = '???' # 用户输入的字符串
if x in weekdays:
    print 'input ok'
else:
    print 'input error'

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

相关文章
相关标签/搜索