[ python ] 集合的使用

集合的使用

 

  可变数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。

 

集合的增删查

  集合是没有改这种说法的:

    (1)集合的元素无序的;

    (2)集合的元素为不可变类型

 

 增加

 

add    为集合新增一个元素

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.add('vivi')	# 在集合中新增一个元素
print(set1)

# 执行结果:
# {'xiaofei', 'vivi', 'haha', 'xixi', 'hkey'}

 

update    将字符串的每个元素作为独立的元素添加到集合中

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.update('abc')  # 将字符串 abc 分别作为三个元素插入到集合中
print(set1)

# 执行结果:
# {'c', 'xiaofei', 'xixi', 'hkey', 'a', 'haha', 'b'}

 

删除

pop    随机删除,有返回值

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

print(set1.pop())   # 随机删除集合中的元素,并返回该元素
print(set1) 

# 执行结果:
# hkey
# {'xiaofei', 'xixi', 'haha'}

 

 remove 按元素删除

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

set1.remove('haha') # 按照元素删除
print(set1)

# 执行结果:
# {'hkey', 'xixi', 'xiaofei'}

 

 clear 清空列表

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

set1.clear()    # 清空整个集合
print(set1)

# 执行结果:
# set()

 

 del 删除整个集合

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

del set1

 

集合没有修改:1. 无序的;2. 不可变类型

 

查找

集合只能用 for 查看, 集合是可迭代序列

 

 

集合运算

     集合运算功能包括:
        1. 消除重复元素;
        2. 关系测试

 

交集:& 和 并集:|

 

set1 = {1, 2, 3}
set2 = {2, 3, 4}

print(set1 & set2)  # 计算交集

# 执行结果:
# {2, 3}

print(set1 | set2)  # 计算并集

# 执行结果:
# {1, 2, 3, 4}  # 集合中的元素是不可重复的

 

 反交集: ^  就是除了交集以外元素的集合

set1 = {1, 2, 3}
set2 = {2, 3, 4}

print(set1 ^ set2)  # 反交集

# 执行结果:
# {1, 4}

 

 差集:-  set1 - set2 : set1 而 set2 没有的元素的集合

set1 = {1, 2, 3, 4}
set2 = {2, 3, 4, 7}

print(set1 - set2)

# 执行结果:
# {1}

 

frozenset() 将集合可变类型转换为不可变类型;

set1 = {1, 2, 3, 4}
set2 = {2, 3, 4, 7}

s1 = frozenset(set1)
print(s1, type(s1))

# 执行结果:
# frozenset({1, 2, 3, 4}) <class 'frozenset'>

 

posted @ 2018-09-18 13:47  hukey  阅读(790)  评论(0编辑  收藏  举报