python集合的使用方法(去重)

集合:集合中的所有元素是放在{}中的,每个元素之间用“,”隔开。通常情况下集合用来去掉重复元素,集合中的元素序列是可变的。

集合的创建以及增删
创建集合:

	直接使用{}创建:
	setname = {e1,e2,e3,e4,e5,...,en}
	set1 = {'唐僧', '孙悟空', '猪八戒', '沙和尚', '白龙马'}
	set2 = {5,2,0,8,6,1,4,9}
	当我们输出集合中的元素时,元素内容的顺序发生改变:
		print(set1)   -->  {'唐僧', '孙悟空', '沙和尚', '猪八戒', '白龙马'}
		print(set2)   -->  {0, 1, 2, 4, 5, 6, 8, 9}
		
	使用set()创建:
		setname = set(可迭代对象)
	
		set1 = set(i for i in range(1,10))
		print(set1) -->{1, 2, 3, 4, 5, 6, 7, 8, 9}

	    set2 = set(['a','b','d', 'f','i', 'h', 'y', 'm'])
	    print(set2)  -->{'a', 'b', 'd', 'f', 'h', 'i', 'm', 'y'}

		set3 = set(('人生苦短', '我用python'))
		print(set3)  -->{'人生苦短', '我用python'}
	
		set4 = set('I love python')
		print(set4)  --> {' ', 'I', 'e', 'h', 'l', 'n', 'o', 'p', 't', 'v', 'y'}
		我们仔细观察输出结果可以看出集合中少了一个空格和字母o,这是因为集合有去重的功能

向集合中添加元素

	语法:setname.add()
		set5 = set(['0基础学Java', '0基础学Android', '0基础学C', '0基础学C#', '0基础学PHP'])
		set5.add('0基础学python')
		print(set5)  -->{'0基础学Android', '0基础学C', '0基础学C#', '0基础学Java', '0基础学PHP', '0基础学python'}

删除元素:

	set5 = set(['0基础学Java', '0基础学Android', '0基础学C', '0基础学C#', '0基础学PHP'])
	del删除整个集合
		del set5  --> name 'set5' is not defined
		
	pop()随机删除一个元素
		set5.pop()  -->{'0基础学Android', '0基础学C#', '0基础学Java', '0基础学PHP'}
		
	remove()删除指定元素
	
		set5.remove('0基础学PHP') -->{'0基础学Android', '0基础学C', '0基础学C#', '0基础学Java'}
	clear() 清空元素
	
		set5.clear()  --> set()

集合的交集、并集、差集:

	交集:使用'&'符合,指的是两个集合共同部分
	并集:使用'|'符号,输出两个集合的全部内容
	差集:使用'-'符号,结果是输出前者有而后者没有的元素
	对称差集:使用'^'符号,输出的是不含相同内容的所有元素

	set1 = {5,6,13,97,88,72,66,31}
	set2 = {4,6,9,26,13,56,49,88,99}
	print(set1 & set2)	 --> {6, 13, 88}
	print(set1 | set2)  -->  {4, 5, 6, 9, 13, 26, 31, 49, 56, 66, 72, 88, 97, 99}
	print(set1 - set2)  --> {5, 31, 66, 72, 97}
	print(set1 ^ set2)  --> {4, 5, 9, 26, 31, 49, 56, 66, 72, 97, 99}

实例:

	list1  = [1,3,6,8,7,99,22,33,6,67,7]
	如上述一个列表,对于相同的元素,只保留一个
	1.先将列表转换为集合
		set1 = set(list1)
	2.再将集合转换为列表
		list1 = list(set1)
	经过这样的运算,得出的结果就是对于相同的元素,只保留一个

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zhangchen10086/article/details/107889420