Python集合(set)

版权声明:编写不易,转载请注明出处 https://blog.csdn.net/zha6476003/article/details/82818558

Python中的集合同数学中的集合概念类似,也是用于保存不重复的元素。他有可变集合(set),和不可变集合(frozenset);可变集合(set)是无序的可变的。

创建集合

直接使用{}创建

setname = {"elment1", "element2", "element3"}

setname:集合名称
element:表示集合中的元素,个数没有限制,只要是Python支持的数据类型就可以

示例代码:

set1 = {"zhang", "li", "wang"}
set2 = {1, 2, 3}
set3 = {"张三", 18, 18, ("hello", "world")}
print(set1)
print(set2)
print(set3)

执行结果:
	{'li', 'zhang', 'wang'}
	{1, 2, 3}
	{18, '张三', ('hello', 'world')}

注意:set中重复的元素Python只会保留一个(如我们上面创建的set3)

使用set()函数创建:

setname = set(iteration)

setname:表示集合的名字
iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range对象等,也可以是字符串。如果是字符串,返回的集合将是包含全部不重复的集合。

示例代码:

set1 = set("zhang,wang")
set2 = set([1, 2, 3])
set3 = set(('hello', 'world'))
print(set1)
print(set2)
print(set3)

执行结果:
	{'a', 'n', 'z', 'h', ',', 'w', 'g'}
	{1, 2, 3}
	{'hello', 'world'}

集合的添加和删除

setname.add(elment)

示例代码:

set1 = set(['hello', 'world'])
set1.add('你好世界')
print(set1)

执行结果:
	{'hello', 'world', '你好世界'}

从集合中删除元素

集合中也可以使用del命令删除整个集合,也可以使用pop()方法或者remove()方法删除一个元素,或者使用集合对象的```clear()方法清空集合,即删除集合中的全部元素,使其变为空集合。

示例代码:

try:
    set1 = set(['hello', 'world', 1, 2, 3])
    set1.remove(1)
    print(set1)
    set1.pop() # 删除一个元素默认第一个
    print(set1)
    set1.clear()
    print(set1)
except KeyError:
    print('未找到对应的key')

执行结果:
	{2, 3, 'world', 'hello'}
	{3, 'world', 'hello'}
	set()

集合的交集、并集和差集运算

示例代码:

python = set(['张三', '李四', '王二'])
c = set(['小明', '张三'])
print('学Python的同学有:', python)
print('学c的同学有:', c)
print('交集运算:', python & c) # 既学Python又学c的同学
print('并集运算:', python | c) # 输出全部同学名字
print('差集运算:', python - c) # 输出只选了Python没选c的同学

执行结果:
	学Python的同学有: {'李四', '王二', '张三'}
	学c的同学有: {'张三', '小明'}
	交集运算: {'张三'}
	并集运算: {'张三', '李四', '王二', '小明'}
	差集运算: {'李四', '王二'}

猜你喜欢

转载自blog.csdn.net/zha6476003/article/details/82818558
今日推荐