集合(set)

  集合其实就是一个无序的,自动去重的数据集合,它主要的作用是用来去重和进行关系测试,集合的定义方法如下:

name=set("czp") /name=set({1,2,3,4})
print(type(name))
运行结果:
{'z', 'c', 'p'} /{9, 10, 3, 5} 打印结果可以看到是元素是无序的
<class 'set'> 使用type()方法打印name的类型为set

  通过下面这个例子 进一步说明集合是去重的

name=set("czpcc")
print(name)
运行结果:
{'c', 'p', 'z'}

  集合的一些基本方法如下所示:

  1.add():添加,仅适用于添加单个元素

s = set([3,5,9,10])
s.add("x") 添加一个元素,注意:add方法只能添加单个元素,添加多个元素需要用update方法
print(s)
运行结果:
{3, 5, 9, 10, 'x'}

  2.update():更新,适用于添加多个元素

s = set([3,5,9,10])
s.update([1,2]) 通过update方法添加多个元素,可以使用[]列表的形式,也可以使用“”,“”这种,的形式隔开添加
print(s)
运行结果:
{1, 2, 3, 5, 9, 10}

  3.clear():清空

s = set([3,5,9,10])
s.clear() 移除集合中的所有元素

  4.copy() :深浅copy会在后面的博客中详细说。

  5.pop():删除(随机删)

s = set([3,5,9,10])
s.pop() pop()方法,随机删除集合中的元素,如果集合为空,程序报错
print(s)
运行结果:
{10, 3, 5}

  6.remove():删除(指定元素删除)

s = set([3,5,9,10])
s.remove() 指定元素删除,如果为空或者该元素不存在,程序报错
print(s)
运行结果:
{9, 10, 5}

  上面提到了,集合的主要功能是去重和关系测试,对于集合的关系测试使用方法如下所示:

  1.交集,可以如下两种方式表示

s = set([3,5,9,10])
v = set([3,4,9,11])
print(s&v)
print(s.intersection(v)) 求两个集合的交集
运行结果是一样的:
{9, 3}
{9, 3}

  2.并集,用如下两种方式表示

s = set([3,5,9,10])
v = set([3,4,9,11])
print(s|v) 求两个集合的并集
print(s.union(v))
运行结果:
{3, 4, 5, 9, 10, 11}
{3, 4, 5, 9, 10, 11}

  3.差集,用如下两种方式表示

s = set([3,5,9,10])
v = set([3,4,9,11])
print(s-v) 求两个集合的差集
print(s.difference(v))
运行结果如下:
{10, 5}
{10, 5}

  另外还有 issubset()-判断子集、issuperset()-判断父级等方法,返回的值为布尔值。

二:字符串格式化补充

  1.打印浮点数

print("小数为 %.2f"%88.87654321)   通过%f来做浮点数的占位符,2代表保留的小位数
运行结果: 小数为 88.88

  2.打印百分比

print("percent %.2f %%"%88.87654321)  通过两个%来显示出百分比
运行结果为:
percent 88.88 %

Pyhton编程(六)之基本数据类型-集合(补充)的更多相关文章

  1. Python_数据类型的补充、集合set、深浅copy

    1.数据类型的补充 1.1 元组 当元组里面只有一个元素且没有逗号时,则该数据的数据类型与括号里面的元素相同. tu1 = ('laonanhai') tu2 = ('laonanhai') prin ...

  2. python 的基础 学习 第八天数据类型的补充 ,集合和深浅copy

    1,数据类型的补充: 元组()tuple,如果只有元素,并且没有逗号,此元素是什么数据类型,该表达式就是什么数据类型. tu = ('rwr') print(tu,type(tu)) tu = ('r ...

  3. python基础之数据类型操作补充,集合及其操作,深浅拷贝

    内容概要: 数据类型操作补充 集合及其操作 深浅拷贝1.基础数据类型补充 1.1字符串的操作补充li = ["李嘉诚", "麻花藤", "黄海峰&qu ...

  4. 19-3-7Python中小数据池、数据类型的补充、set集合

    一.小数据池(了解) “id”    获取内存地址 “==”  比较等号两端的值是否相等 “is”    身份运算:判断的是两个对象的内存地址是否相同. 代码块:一个文件就是一个代码块.(函数.类都是 ...

  5. 基础数据类型汇总补充;集合set ;深浅copy

    首先回顾: 小数据池:int -5~256str 特殊字符,*数字20 ascii : 8位 1字节 表示1个字符unicode 32位 4个字节 表示一个字符utf- 8 1个英文 8位,1个字节 ...

  6. 基础数据类型汇总补充,python集合与深浅拷贝

    一.基础数据类型汇总补充 1.查看str所有方法方式 2.列表:在循环中删除元素,易出错或报错(飘红) lis = [11,22,33,44,55] # for i in range(len(lis) ...

  7. 常用对象API、附加:集合补充

    基本数据类型对象包装类: 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作. 用于描述该对象的类就称为基本数据类型对象包装类. byte——Byte short ...

  8. 百万年薪python之路 -- 基础数据类型的补充

    基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...

  9. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

  10. 【转载】C#编程中两个List集合使用Intersect方法求交集

    在C#语言程序设计中,List集合是常用的集合数据类型,在涉及集合类型的运算中,有时候我们需要计算2个List集合中共有的数据,即对2个List集合求交集运算.此时可以使用C#语言提供的Interse ...

随机推荐

  1. win10 uwp 设置启动窗口大小 获取窗口大小

    本文主要说如何设置我们窗口的启动大小,UWP启动窗口大小. 设置启动窗口 设置窗口大小 ApplicationView.PreferredLaunchViewSize = new Size(1000, ...

  2. ASP 文件内部访问数据库的通常途径

    创建至数据库的 ADO 连接(ADO connection) 打开数据库连接 创建 ADO 记录集(ADO recordset) 打开记录集(recordset) 从数据集中提取你所需要的数据 关闭数 ...

  3. iOS 11更新后以及iPhone X推出后工程中遇到的问题及适配

    1.UITableView滑动时右侧的滑动条忽长忽短的乱跳以及MJRefresh上拉刷新死循环 这是因为tableView在iOS11默认使用Self-Sizing,tableView的estimat ...

  4. Element ui表格展示多张图片问题

    显示一张图片的方法: <el-table-column label="头像" width="100"> <template scope=&qu ...

  5. PHP内写css样式

    <1>php的两种输出方式 1,echo: 2,print; 栗子: <?php echo:"你好,我的名字是LHH"; print:"你好,我的名字是 ...

  6. SQL Server远程连接(2)

  7. NFC (Near Filed Communication)

    NFC的用途:近场通信(Near Field Communication,NFC),又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在十厘米内)交换数据 ...

  8. javascript 二维(多维)数组的复制问题

    最近在项目中遇到一个动画暂停的效果,需要在动画停止的时候检测当前坐标和已经运行的时间,从而调节时间轴为再次运行时加速. 但是在数组保存方面折腾了半天. var orbitArray = [], lin ...

  9. Hibernate开发文档

    hibernate配置 映射约束文件 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3. ...

  10. 向ASP.NET Core迁移

    有人说.NET在国内的氛围越来越不行了,看博客园文章的浏览量也起不来.是不是要转Java呢? 没有必要扯起语言的纷争,Java也好C#都只是语言是工具,各有各的使用场景.以前是C#非开源以及不能在Li ...