首页 > 编程语言 > 详细

python集合操作

时间:2019-04-25 12:54:47      阅读:169      评论:0      收藏:0      [点我收藏+]

技术分享图片

一:python官方文档

  https://docs.python.org/3.6/library/stdtypes.html#set-types-set-frozenset

二:集合概念

  • 集合是无序的
  • 集合是无重复元素的

技术分享图片

一:add()

会改变原有集合

技术分享图片
1 >>> s = set(‘HackerRank‘)
2 >>> s.add(‘H‘)
3 >>> print s
4 set([‘a‘, ‘c‘, ‘e‘, ‘H‘, ‘k‘, ‘n‘, ‘r‘, ‘R‘])
5 >>> print s.add(‘HackerRank‘)#添加后返回none
6 None
7 >>> print s
8 set([‘a‘, ‘c‘, ‘e‘, ‘HackerRank‘, ‘H‘, ‘k‘, ‘n‘, ‘r‘, ‘R‘])
set.add()

二:pop(),discard(),remove()

  •  pop()是随机删除元素
  •  discard(),remove()是删除指定元素的
  •     discard()在删除不存在元素是不会报错,而remvoe()会报keyerror错误
  •     都会改变原有集合

set.pop()

技术分享图片
1 >>> s = set([1])
2 >>> print s.pop()
3 1
4 >>> print s
5 set([])
6 >>> print s.pop()
7 KeyError: pop from an empty set
set.pop()

set.remove()

技术分享图片
 1 >>> s = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
 2 >>> s.remove(5)
 3 >>> print s
 4 set([1, 2, 3, 4, 6, 7, 8, 9])
 5 >>> print s.remove(4)#默认返回None
 6 None
 7 >>> print s
 8 set([1, 2, 3, 6, 7, 8, 9])
 9 >>> s.remove(0)
10 KeyError: 0
set.remove()

set.discard()

技术分享图片
 1 >>> s = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
 2 >>> s.discard(5)
 3 >>> print s
 4 set([1, 2, 3, 4, 6, 7, 8, 9])
 5 >>> print s.discard(4)
 6 None
 7 >>> print s
 8 set([1, 2, 3, 6, 7, 8, 9])
 9 >>> s.discard(0)
10 >>> print s
11 set([1, 2, 3, 6, 7, 8, 9])
set.discard()

三:intersetcion(),difference(),unoin(),交集,差集,并集,

不改变原有集合

set.intersection()

技术分享图片
 1 >>> s = set("Hacker")
 2 >>> print s.intersection("Rank")
 3 set([‘a‘, ‘k‘])
 4 
 5 
 6 >>> print s.intersection([‘R‘, ‘a‘, ‘n‘, ‘k‘])
 7 set([‘a‘, ‘k‘])
 8 
 9 >>> print s.intersection(enumerate([‘R‘, ‘a‘, ‘n‘, ‘k‘]))
10 set([])
11 
12 >>> print s.intersection({"Rank":1})
13 set([])
14 
15 >>> s & set("Rank")
16 set([‘a‘, ‘k‘])
set.intersection()

set.difference()

技术分享图片
 1 #set1有的而set2没有的元素
 2 >>> s = set("Hacker")
 3 >>> print s.difference("Rank")
 4 set([‘c‘, ‘r‘, ‘e‘, ‘H‘])
 5 
 6 >>> print s.difference(set([‘R‘, ‘a‘, ‘n‘, ‘k‘]))
 7 set([‘c‘, ‘r‘, ‘e‘, ‘H‘])
 8 
 9 >>> print s.difference([‘R‘, ‘a‘, ‘n‘, ‘k‘])
10 set([‘c‘, ‘r‘, ‘e‘, ‘H‘])
11 
12 >>> print s.difference(enumerate([‘R‘, ‘a‘, ‘n‘, ‘k‘]))
13 set([‘a‘, ‘c‘, ‘r‘, ‘e‘, ‘H‘, ‘k‘])
14 
15 >>> print s.difference({"Rank":1})
16 set([‘a‘, ‘c‘, ‘e‘, ‘H‘, ‘k‘, ‘r‘])
17 
18 >>> s - set("Rank")
19 set([‘H‘, ‘c‘, ‘r‘, ‘e‘])
set.difference()

set.unoin()

技术分享图片
 1 >>> s = set("Hacker")
 2 >>> print s.union("Rank")
 3 set([‘a‘, ‘R‘, ‘c‘, ‘r‘, ‘e‘, ‘H‘, ‘k‘, ‘n‘])
 4 
 5 >>> print s.union(set([‘R‘, ‘a‘, ‘n‘, ‘k‘]))
 6 set([‘a‘, ‘R‘, ‘c‘, ‘r‘, ‘e‘, ‘H‘, ‘k‘, ‘n‘])
 7 
 8 >>> print s.union([‘R‘, ‘a‘, ‘n‘, ‘k‘])
 9 set([‘a‘, ‘R‘, ‘c‘, ‘r‘, ‘e‘, ‘H‘, ‘k‘, ‘n‘])
10 
11 >>> print s.union(enumerate([‘R‘, ‘a‘, ‘n‘, ‘k‘]))
12 set([‘a‘, ‘c‘, ‘r‘, ‘e‘, (1, ‘a‘), (2, ‘n‘), ‘H‘, ‘k‘, (3, ‘k‘), (0, ‘R‘)])
13 
14 >>> print s.union({"Rank":1})
15 set([‘a‘, ‘c‘, ‘r‘, ‘e‘, ‘H‘, ‘k‘, ‘Rank‘])
16 
17 >>> s | set("Rank")
18 set([‘a‘, ‘R‘, ‘c‘, ‘r‘, ‘e‘, ‘H‘, ‘k‘, ‘n‘])
set.union()

 

python集合操作

原文:https://www.cnblogs.com/Mr-l/p/10767637.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!