集合(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. Python正则表达计算器

    Python学习笔记(十二): 计算器 利用Python的正则表达式写的简易计算器 # author : Ryoma # time : 17:39 import re def add(string): ...

  2. Linux中创建Daemon进程的三种方法

    什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx,ssh服务进程sshd等.注意,其英文拼写为 ...

  3. 【NOIP2015提高组】Day2 T1 跳石头

    题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石(不含起点和终 点的岩石).在比赛过程中,选手们将从 ...

  4. HiveQL简单操作DDL

    hive-2.1.1 DDL操作 Create/Drop/Alter/Use Database 创建数据库 //官方指导 CREATE (DATABASE|SCHEMA) [IF NOT EXISTS ...

  5. IDEA + Maven + JavaWeb项目搭建

    前言:在网上一直没找到一个完整的IDEA+Maven+Web项目搭建,对于IDEA和Maven初学者来说,这个过程简单但是非常痛苦的,对中间的某些步骤不是很理解,导致操作错误,从而项目发布不成功,一直 ...

  6. Java运行时内存划分与垃圾回收--以及类加载机制基础

    ----JVM运行时内存划分----不同的区域存储的内容不同,职责因为不同1.方法区:被线程共享,存储被JVM加载的类的信息,常量,静态变量等2.运行时常量池:属于方法区的一部分,存放编译时期产生的字 ...

  7. 双十一临近,怎样让买家流畅地秒杀? ——腾讯WeTest独家开放电商产品压测服务

    WeTest 导读 十一月临近,一年一度的电商大戏"双十一"又将隆重出场,目前各大商家已经开始各类优惠券的发放,各类大促的商品表单也已经提前流出,即将流入各个用户的购物车中. 作为 ...

  8. ASP.NET没有魔法——ASP.NET Identity的加密与解密

    前面文章介绍了如何使用Identity在ASP.NET MVC中实现用户的注册.登录以及身份验证.这些功能都是与用户信息安全相关的功能,数据安全的重要性永远放在第一位.那么对于注册和登录功能来说要把密 ...

  9. Java 设计模式原则

    1.    找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起. 换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,那么你就可以确定,这部分的代码需要抽出来,和其 ...

  10. 数据分析基础之Linalg的使用

    Linear algebra 简介 When SciPy is built using the optimized ATLAS LAPACK and BLAS libraries, it has ve ...