set是一组数,无序,内容又不能重复,通过调用set()方法创建:
1
|
>>> s = set([ 'A' , 'B' , 'C' ]) |
对于访问一个set的意义就仅仅在于查看某个元素是否在这个集合里面,注意大小写敏感:
1
|
>>> print 'A' in sTrue>>> print 'D' in sFalse |
也通过for来遍历:
1
|
s = set([( 'Adam' , 95), ( 'Lisa' , 85), ( 'Bart' , 59)]) for x in s: print x[0], ':' ,x[1]>>>Lisa : 85Adam : 95Bart : 59 |
通过add和remove来添加、删除元素(保持不重复),添加元素时,用set的add()方法
1
|
>>> s = set([1, 2, 3])>>> s.add(4)>>> print sset([1, 2, 3, 4]) |
如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了:
1
|
>>> s = set([1, 2, 3])>>> s.add(3)>>> print sset([1, 2, 3]) |
删除set中的元素时,用set的remove()方法:
1
|
>>> s = set([1, 2, 3, 4])>>> s.remove(4)>>> print sset([1, 2, 3]) |
如果删除的元素不存在set中,remove()会报错:
1
|
>>> s = set([1, 2, 3])>>> s.remove(4)Traceback (most recent call last): File "<stdin>" , line 1, in <module>KeyError: 4 |
所以如果我们要判断一个元素是否在一些不同的条件内符合,用set是最好的选择,下面例子:
1
|
months = set([ 'Jan' , 'Feb' , 'Mar' , 'Apr' , 'May' , 'Jun' , 'Jul' , 'Aug' , 'Sep' , 'Oct' , 'Nov' , 'Dec' ,])x1 = 'Feb' x2 = 'Sun' if x1 in months: print 'x1: ok' else : print 'x1: error' if x2 in months: print 'x2: ok' else : print 'x2: error' >>>x1: okx2: error |
另外,set的计算效率比list高.
以上就是关于SET在PY中的用法和相关知识点,感谢大家的阅读和对服务器之家的支持。