参考:http://blog.csdn.net/business122/article/details/7541486
set(value)
创建set
s = set(seq)
s = set('hello')
print(s)
# set(['h','l','e','o'])
# 只有'h','e','l','o'这四个字符,这是一个无序不重复的元素集
# 去除重复元素
a = [11,22,33,44,11,22]
b = set(a)
print(b)
# set([33, 11, 44, 22])
print(list(b))
# [33, 11, 44, 22]
# 添加
t = set()
t.add('Tom') # 增加一项
print(t)
# {'Tom'}
t.update(['Alice', 'Lily']) # 增加多项
# {'Lily','Tom','Alice'}
set.remove(value)
s = set('hello')
s.remove('h')
print(s)
# {'e','o','l'}
& | - ^
交集,并集,补集
x = set('spam')
y = set(['h','a','m'])
# x.intersection(y)
print(x & y) # 交集
# set(['a', 'm'])
# x.union(y)
print(x | y) # 并集
# set(['a', 'p', 's', 'h', 'm'])
# x.difference(y)
print(x - y) # 求差集(项在t中,但不在s中)
# set(['p', 's'])
# x.symmetric_difference(y)
print(x ^ y) # 对称差集(项在t或s中,但不会同时出现在二者中)
# set(['h','p','s'])
len(set)
获得set的长度
x = set('spam')
print(len(x))
# 4
set.discard(value)
从set中删除一个数字,如果不是数字,就什么也不会发生
x = set()
x.add(1)
x.update(['as', 'sds', 'sd'])
print(x.discard(1))
# None
print(x)
# {'as', 'sds', 'sd'}
print(x.discard('as))
# None
print(x)
# {'as', 'sds', 'sd',1}
set.pop()
返回set中的一个随机值,然后将其从中删除
set.clear()
删除set中的所有元素
set.copy()
浅复制
frozemset()
set中的元素是无序的,使用frozenset生成的是一个不可变有序的集合
a = frozenset(range(10)) # 生成一个新的不可变集合
a
frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b = frozenset('runoob')
b
frozenset(['b', 'r', 'u', 'o', 'n']) # 创建不可变集合
网友评论