Python数据类型之Set集合实例详解

本文实例讲述了Python数据类型之Set集合。分享给大家供大家参考,具体如下:

set集合

1.概述

set与dict类似,但set是一组key的集合,与dict的区别在于set不存储value。

本质:无序且无重复元素的集合(具有自动去重的功能)。

2.set的创建

语法:

set1 = set([1, 2, 3, 4, 5])

注意:创建set需要一个list或者tuple或者dist作为输入集合,重复的元素在set中会被自动的过滤

s1 = set([1, 2, 3, 4, 5])
print(s1)

输出:

{1, 2, 3, 4, 5}

3.set操作

3.1 set.add()

1.可以添加重复的元素,但是不会有效果

2.add 的元素不能是列表或者字典,因为他们是可变的

s1 = set([1, 2, 3, 4, 5])
s1.add(6)
s1.add((2, 3, 4))
print(s1)

结果

{1, 2, 3, 4, 5, 6, (2, 3, 4)}

3.2 set.update()

功能:插入整个list、tuple、字符串打碎插入

注意:不能直接插入数字。

s1 = set([1, 2, 3, 4, 5])
s1.update([4,"anam","hha"])
s1.update("hello")
print(s1)

结果

{1, 2, 3, 4, 5, 'anam', 'l', 'o', 'h', 'e', 'hha'}

3.3 set.remove(元素)

功能:删除元素

s1 = set([1, 2, 3, 4, 5])
s1.remove(3)
print(s1)

输出:

{1, 2, 4, 5}

3.4 遍历元素

语法:

for i in set :
print(i)

注意:set是无序的,因此不能通过下标获取元素。

for index, data in enumerate(set):
  print(index, data)

可以通过这种方式,来强行添加下标

s1 = set([1, 2, 3, 4, 5])
for i in s1:
  print(i)
for index,data in enumerate(s1):
  print(index, data)

输出:

1
2
3
4
5
0 1
1 2
2 3
3 4
4 5

3.5 交集与并集

语法:

交集 newest = set1 & set2
并集 newest = set1 | set2

s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7])
s3 = s1 & s2
s4 = s1 | s2
print(s3)
print(s4)

结果

{4, 5}
{1, 2, 3, 4, 5, 6, 7}

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python列表(list)操作技巧总结》、《Python字典操作技巧汇总》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • python求列表交集的方法汇总

    本文实例汇总了python求列表交集的方法.分享给大家供大家参考.具体方法如下: 交集对于给定的两个集合A 和 集合B 的交集是指含有所有既属于 A 又属于 B 的元素,而没有其他元素的集合叫交集了,下面给出几个python求列表交集例子供大家参考. 方法1 遍历b1,如果某个元素同时也存在于b2中,则返回 复制代码 代码如下: b1=[1,2,3] b2=[2,3,4] b3 = [val for val in b1 if val in b2] print b3 运行结果如下 复制代码 代码如

  • 浅谈Python 集合(set)类型的操作——并交差

    阅读目录 •介绍 •基本操作 •函数操作 介绍 python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并.交.差.对称差等. sets 支持 x in set. len(set).和 for x in set.作为一个无序的集合,sets不记录元素位置或者插入点.因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作. 基本操作 >>> x = set("jihite")

  • Python中集合类型(set)学习小结

    set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引.分片等类序列的操作. 初始化 复制代码 代码如下: s0 = set() d0 = {} s1 = {0} s2 = {i % 2 for i in range(10)} s = set('hi') t = set(['h', 'e', 'l', 'l', 'o']) print(s0, s1, s2, s, t, type(d0)) 运行结果: 复制代码 代码如下: set() {

  • python获得两个数组交集、并集、差集的方法

    本文实例讲述了python获得两个数组交集.并集.差集的房部分.分享给大家供大家参考.具体如下: 1. 获取两个list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).intersection(set(b))) 2. 获取两个list 的并集 print list(set(a).union(set(b))) 3. 获取两个

  • Python set集合类型操作总结

    Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替) 小例子 1.如果我要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决 复制代码 代码如下: x & y & z # 交集 2.去重 复制代码 代码如下: >>> lst = [1,2,3,4,1] >>> print list(set(lst)) [1, 2, 3, 4] 用法 注意se

  • Python 两个列表的差集、并集和交集实现代码

    ①差集 方法一: if __name__ == '__main__': a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}] b_list = [{'a' : 1}, {'b' : 2}] ret_list = [] for item in a_list: if item not in b_list: ret_list.append(item) for item in b_list: if item not in a_l

  • python 集合 并集、交集 Series list set 转换的实例

    set转成list方法如下: list转成set方法如下: s = set('12342212')                                                      l = ['12342212']  print s    # set(['1', '3', '2', '4'])                                    s = set(l[0])  l = list(s)                             

  • 跟老齐学Python之集合(set)

    回顾一下已经了解的数据类型:int/str/bool/list/dict/tuple 还真的不少了. 不过,python是一个发展的语言,没准以后还出别的呢.看官可能有疑问了,出了这么多的数据类型,我也记不住呀,特别是里面还有不少方法. 不要担心记不住,你只要记住爱因斯坦说的就好了. 爱因斯坦在美国演讲,有人问:"你可记得声音的速度是多少?你如何记下许多东西?" 爱因斯坦轻松答道:"声音的速度是多少,我必须查辞典才能回答.因为我从来不记在辞典上已经印着的东西,我的记忆力是用来

  • python3中set(集合)的语法总结分享

    介绍 set 顾明思义,就是个集合,集合的元素是唯一的,无序的.一个{ }里面放一些元素就构成了一个集合,set里面可以是多种数据类型(但不能是列表,集合,字典,可以是元组) 集 合 是 一 个 无 序 不 重 复 元素 的 集 . 基 本 功 能 包 括 关 系 测 试 和 消 除 重 复 元 素 . 集 合 对 象 还 支 持 union( 联 合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算. 大括号或 s

  • Python求两个list的差集、交集与并集的方法

    本文实例讲述了Python求两个list的差集.交集与并集的方法.分享给大家供大家参考.具体如下: list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以分析. 一.两个list差集 如有下面两个数组: a = [1,2,3] b = [2,3] 想要的结果是[1] 下面记录一下三种实现方式: 1. 正常的方式 复制代码 代码如下: ret = [] for i in a:     if i not in b:         ret.append(

随机推荐