# -*- coding:UTF-8 -*-
'''
set是一个无序且不重复的元素集合
'''
def read_set():
# 创建set
s1 = set('qiwsit')
print s1 # s1= set(['q', 'i', 's', 't', 'w'])
s2 = set([123, 'google', 'face', 'book', 'facebook', 'book']) # 通过list创建set,不能有重复元素
print s2
s3 = {'facebook', 123} # 通过{}直接创建
print s3
# 注意:
# 通过{}无法创建含有list/dict元素的set
# set不允许使用索引
# 通过list来进行索引
lst = list(s1)
print lst
print lst[3], lst[2]
# 增加元素
a_set = {}
print type(a_set) # 注意,此时类型为dict,<type 'dict'>
b_set = {'a', 'i'}
print type(b_set) # 此时类型为<type 'set'>
b_set.add('ahd')
print b_set # 添加一个元素之后的集合:set(['i', 'a', 'ahd'])
# 删除元素 pop(), remove(), discard()
print b_set # b_set= set(['i', 'a', 'ahd'])
print b_set.pop() # 从set中删除一个元素
print b_set.pop() # 从set中删除一个元素
print b_set
# set.pop() 从set中任意选一个元素,删除并将这个值返回,但是,不能指定删除某个元素
# set.remove() 从set中指定删除某个元素
print b_set.add('time')
print b_set.add('hello')
print b_set # b_set= set(['hello', 'ahd', 'time'])
b_set.remove('ahd') # 指定删除某个元素
print b_set
# set,discard() 如果删除的是set中的元素,则删除,否则,什么也不做
b_set.discard('and') # b_set中没有'and'元素,什么也不做,原样输出
print b_set
# sets支持 x in set, len(set), for x in set
# 作为一个无序的集合,sets不记录元素的位置和插入点
# sets不支持index,slice等操作
# 基本操作
x = set('jihite')
y = set(['d', 'i', 'm', 'i', 't', 'e']) # 去重
print x
print y
# 交
print 'x & y:', x & y
# 并
print 'x | y:', x | y
# 差
print 'x - y:', x - y
# 对称差
print 'x ^ y:', x ^ y
if __name__ == '__main__':
read_set()
Python集合
最新推荐文章于 2024-07-31 22:42:30 发布