集合以{}形式表现,一个集合中的元素各不相同,即集合体现为去重的特性。主要用于关系测试,常见的集合操作:交集、并集、插件、子集、父集、对称差集等。

设置集合:

list_1 = [1,3,4,5,7,9,4]
print(list_1,type(list_1))
list_1 = set(list_1)
list_2 = set([2,4,6,8,5,10])
print(list_1,list_2)

结果:{1, 3, 4, 5, 7, 9} <class 'set'>

{1, 3, 4, 5, 7, 9} {2, 4, 5, 6, 8, 10}

一、英文关系测试

1、交集  intersection

print(list_1.intersection(list_2))  ##取list1和list2都有的元素

结果:{4, 5}

2、并集  union

print(list_1.union(list_2))         ##取list1和list2所有的元素

结果:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

3、差集  difference

print(list_1.difference(list_2))     ##在list1中取list2中没有的元素     

结果:{1, 3, 9, 7}

4、子集  issubset

list_3 = set([1,3,5])
print(list_3.issubset(list_1)) ##判断list3是否为list1的元素

结果:True

5、父集  issuperset

print(list_1.issuperset(list_3))       ##判断list1是否为list3的元素

结果:True

6、对称差集

print(list_1.symmetric_difference(list_2))    ##取list1和list2所有的元素并去掉都有的元素

结果:{1, 2, 3, 6, 7, 8, 9, 10}

二、逻辑运算符关系测试

1、交集  &

print(list_1 & list_2)

2、并集  |

print(list_1 | list_2)

3、差集  -

print(list_1 - list_2)

4、对称差集  ^

print(list_1 ^ list_2)

三、集合常用方法

1、add

list_1.add(66)
print(list_1)   

结果:{1, 66, 3, 4, 5, 7, 9}      ##元素66已经加到list1中

2、update

list_1.update([33,44,55])
print(list_1)

结果:{1, 66, 3, 4, 5, 33, 7, 9, 44, 55}    ##元素33,44,55加到list1中

3、remove

作用:删除集合中一个元素,若有这个元素会删除,但不会显示在屏幕上;若没这个元素则会报错
print(list_1.remove(77))

结果:

None
Traceback (most recent call last):
File "F:/Python/day01/day_03/set.py", line 27, in <module>
print(list_1.remove(77))
KeyError: 77

4、pop

作用:随机删除集合中的一个元素并将删除的元素显示在屏幕上

print(list_1.pop())
print(list_1.pop())

结果:

1
  3

5、discard

作用:删除集合中元素,若没有也不会报错

print(list_1.discard(4))
print(list_1.discard(77))
print(list_1)

结果:

None
None
{33, 5, 7, 9, 44, 55}

6、update

作用:批量向集合中添加元素

list_1.update([33,44,55])
print(list_1)

结果:{33, 4, 5, 7, 9, 44, 55}


                             










 
												

Python基础(二)之集合的更多相关文章

  1. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

  2. Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...

  3. Python基础篇(set集合)

    Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...

  4. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  5. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  6. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  7. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  8. Python基础数据类型之集合以及其他和深浅copy

    一.基础数据类型汇总补充 list  在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...

  9. Python基础 之 set集合 与 字符串格式化

    数据类型的回顾与总结 可变与不可变1.可变:列表,字典2.不可变:字符串,数字,元组 访问顺序:1.直接访问:数字2.顺序访问:字符串,列表,元祖3.映射:字典 存放元素个数:容器类型:列表,元祖,字 ...

  10. python基础篇 07set集合 深浅拷贝

    本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷⻉ " ".join方法 循环删除列表中的内容:   错误的  原因:在for循环中,循环到第一个,然后删除,删除之 ...

随机推荐

  1. 105 董婷婷 第一次Sprint总结

    总结: 经过一个多星期,第一次Sprint在今天结束了,在这次Sprint中我们的工作主要做的是对项目的构建及各种界面的设计和完善,一些比较具体的功能还没有实现.在这次Sprint中因为有上学期合作的 ...

  2. Arrays.asList()注意

    api: public static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表.(对返回列表的更改会“直接写”到数组.)此方 ...

  3. window.onload用法详解:

    网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以下两种方式: 一.将脚本代码放在网页的底端,这样在运行脚本代 ...

  4. 王爽<汇编语言>实验十一 (附测试代码)

    ;名称: letterc ;功能: 将以0为结尾的字符串中的小写字母转变成大写字母 ;参数: ds:si指向字符串首地址 assume cs:code data segment db data end ...

  5. 如何用selenium webdriver 捕获js error

    ### 问题 捕捉页面上js error ### 解决办法 从Selenium webdriver log 中解析 # -*- coding:utf8 -*- import unittest from ...

  6. Web应用功能测试测试点

    做了几年的功能测试,也经手了好几个Web应用的项目,在做项目当中积累了一些经验.在这里我对通用一些功能模块的测试点做个记录,一来梳理一下测试用例设计的思路,以便加快相似项目的测试用例的设计,二来有利于 ...

  7. golang调用c++的dll库文件

    最近使用golang调用c++的dll库文件,简单了解了一下,特作此笔记:一.DLL 的编制与具体的编程语言及编译器无关 dll分com的dll和动态dll,Com组件dll:不管是何种语言写的都可以 ...

  8. Python 获得对象内存占用内存大小 sys.getsizeof

    from sys import getsizeof class A(object): pass class B: pass for x in (None, 1, 1L, 1.2, 'c', [], ( ...

  9. pt-table-checksum 检查主从数据一致性

    http://www.cnblogs.com/xiaoyanger/p/5584554.html http://www.cnblogs.com/gomysql/p/3662264.html https ...

  10. 常见数据结构之JavaScript实现

    常见数据结构之JavaScript实现 随着前端技术的不断发展,投入到前端开发的人数也越来越多,招聘的前端职位也越来越火,大有前几年iOS开发那阵热潮.早两年,前端找工作很少问到关于数据结构和算法的, ...