python七类之集合
集合
一、关键字 : set
定义是 s = {} #当里面没有元素的时候表现为字典数据类型
s = {} #空的{}代表空的字典,而不是集合
print(type(s))
集合是不可哈希的(可变的),也是无序的(没有索引),集合内的元素必须是可哈希的(不可变得)。
二、方法:
s = {1,2,3,4,5,6,7,8,9}
增:
.add(元素) #随记添加在集合的某个位置
.update() #迭代添加
#添加
s.add('a') #添加指定元素
s.update('alex') #添加可迭代元素
删:
.pop() #随机删除 ,有返回值,删除什么返回什么元素
.clear() #清空集合
del set #删除整个集合
.remove(元素) #删除指定的元素
#删除
s.remove(1) #删除指定元素
s.pop() #随机删除 删除什么返回什么
s.clear() #清空集合
print(s) #字典自动去重
改:
只能先用remove()把要改的元素删了,在把需要的元素添加进去
三、集合的特性:
集合是可以天然去重!
例题: lis = [1,2,1,2,1,25,1,5,6,9,8,115,226,11,22,11,22]用一行代码去重?
print(list(set(lis))) #将列表转换为集合去重,然后在换回列表即可
四、集合的其他操作:
& 和 intersectiion #取两个集合的交集 没有交集就返回空集合
| #取两个集合的并集,合并两个集合
s - s1 #取后面相对于前面的补集
s ^ s1 #反交集,取两个集合不重合的元素
s < s1 #判断s是不是s1的子集
s1 > s #判断s1是不是s的父集
.frozenset(): #将集合冻住,即变成不可变得数据(可哈希)
a = frozenset({1,2,3,4}) #将集合冻住,变成不可变得数据,即可以当字典的键
dic[a :1]
print(dicup)
python七类之集合的更多相关文章
- python七类之字典详解
一.字典 一.关键字:dict 1.字典是唯一的键值对数据,其表现形式: dic = {键:值},字典里的键必须保证是唯一的 2.键必须是不可变的数据类型: a.故列表是不能当键的 b.所 ...
- python七类之整型布尔值
整型与布尔值 一.关键字:整型 --->int 布尔值----->bool : True 真 False 假 1.整形和布尔值都是不可变得不可迭代的数据类型 2.整型: 主 ...
- python七类之列表元组
列表 一.关键字: list lst = [ , , , , , , ,] lst = [1,2,3,4] 二.方法: 1.增加: . append( ) #追加,添加元素进列表最后 ls ...
- python七类之字符串
字符串 一.关键字:str 字符串是不可变的可迭代的数据类型 二.方法: name = 'alex uwu sir' .title #标题 使首字母大写 只要有特殊字符隔开,才能分别认为是多个单词 ...
- Python虚拟机类机制之绑定方法和非绑定方法(七)
Bound Method和Unbound Method 在Python中,当对作为属性的函数进行引用时,会有两种形式,一种称为Bound Method,这种形式是通过类的实例对象进行属性引用,而另一种 ...
- python-集合(第二篇(七):集合)
第二篇(七):集合 python 集合 集合标准操作 摘要: 说明: ·类似于数学中学的集合,Python中的集合可以实现去重的功能,通过set()函数来实现: ·sets支持x in set, ...
- 从C#到Python —— 4 类及面向对象
http://www.cnblogs.com/yanxy/archive/2010/04/04/c2p_4.html 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented) ...
- Python基础-类
Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...
- 1.面向过程编程 2.面向对象编程 3.类和对象 4.python 创建类和对象 如何使用对象 5.属性的查找顺序 6.初始化函数 7.绑定方法 与非绑定方法
1.面向过程编程 面向过程:一种编程思想在编写代码时 要时刻想着过程这个两个字过程指的是什么? 解决问题的步骤 流程,即第一步干什么 第二步干什么,其目的是将一个复杂的问题,拆分为若干的小的问题,按照 ...
随机推荐
- C/C++内存对齐 ZZ
这篇文章写得非常深入浅出.推荐.图需要到原博看. http://songlee24.github.io/2014/09/20/memory-alignment/ 下面是网易的一道笔试题:struct ...
- Json转Map
http = new HttpClient**();//此处封装一下发请求的类 Map<String, String> map = new HashMap<String, Strin ...
- apache中配置php支持模块模式、cgi模式和fastcgi模式
首先安装apache.mysql和php,依次顺序安装. 1.apache.mysql的安装比较简单,略过 2. php的安装,我安装的是php5.3.6内置了php-fpm,所以不需要再单独下补丁了 ...
- java中JVM的原理重温【转】
一.基础理论知识 1.java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序.程序开始执行时他才运行,程序结束时他就停止.你在同一台机器上 ...
- JavaScript(核心、BOM、DOM)
http://www.flyne.org/article/407 JavaScript(核心.BOM.DOM) JavaScript是基于对象和事件驱动的客户端脚本语言.有如下特点: 交互性 安全性( ...
- Redis命令、数据结构场景、配置文件总结
本文大纲 一.常用数据类型简介二.redis操作命令三.redis配置文件详解四.redis数据类型使用场景 一.常用数据类型简介 redis常用五种数据类型:string,hash,list,set ...
- pop链构造
class Person { private $name; private $sex; private $age; //__set()方法用来设置私有属性 function __set($proper ...
- 6.7 块管理器BlockManager
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...
- JQuery资源网站(收藏)
收藏几个不错的JQuery资源网站,以后备用,给共享者点个赞!!! http://jquery.com/ http://www.htmleaf.com/ http://www.oschina.net/ ...
- CentOS7图文安装教程
CentOS 7下载: CentOS 7只提供64位版本,虽然有不少国内镜像节点,不过还是觉得通过BT下载是不错的选择.镜像大小6.7G,联通20M光纤下载,不到小时.以下是中国大陆的下载地址列表: ...