python入门13 集合set

set集合与数学中的集合同一个概念,是无序不重复元素组成的。

#coding:utf-8
#/usr/bin/python
"""
2018-11-10
dinghanhua
集合
"""

'''集合是无序的不重复的元素序列,不支持索引'''

'''定义'''
set1 = {1,2,3,2}
print(set1) #元素不重复

set2 = set('python is easy to use')
print(set2)
'''set用于list,string去重'''
li = ['peter','jary','peter','fee']
set_list = list(set(li)) #set > list
print('取list不重复的数据',set_list)

str1 = 'jwejfewfjewpfjepw'
set_str = str(set(str1))
print('set用于取字符串的不重复字符:',set_str)
'''添加、删除元素、长度、元素是否存在'''
set1.add('grape')
print(set1)

set2.update(['watermelon'])
set2.update(('pear','apple'))
set2.update({'whatever'})
print(set2)

set2.remove('apple')
set2.discard('tomato')
which = set2.pop() #随机删
print(which)
print(set2)

#长度
print(len(set1))
#清空
set1.clear()
print(set1)
#是否包含某元素
print( 'apple' in set2)
'''集合的运算:并集、差集、交集'''
set1 = {'apple','pear','banana'}
set2 = {'peach','orange','tomato','potato','pear'}
set3 = {'banana'}

print('交集 在set1,set2同时存在的',set1&set2)
print(set1.intersection(set2))

print('差集,在set1,不在set2的',set1-set2)
print(set1.difference(set2))

print('只在一个集合里的',set1^set2)
print(set1.symmetric_difference(set2))

print('并集,在set1或set2的',set1 | set2)
print(set1.union(set2))

print(set1.isdisjoint(set2)) #是否没有交集 有交集-False,没交集-True
print(set3.issubset(set2)) #set3是否是set2的子集
print(set1.issuperset(set3)) #set1是否是set3的父集

the end!

猜你喜欢

转载自www.cnblogs.com/dinghanhua/p/9941102.html