Python: set实例透析

Python里的 set数据类型

set是无序unique值的集合,常用来去重,检验membership等。set类似一个词典,但只有键key,没有值value,好多操作也类似,但不支持索引,切片等操作。

a = set([1,2,3,1])
b = set([2,3,4])
a
{1, 2, 3}
print b
set([2, 3, 4])

常见操作

a
{1, 2, 3}
len(a)
3
2 in a
True
遍历
# 像遍历字典一样
for i in a:
    print i,
1 2 3

增加

a.add(4)
a
{1, 2, 3, 4}

删除

# a.remove(el), if not found, raise error
a.remove(4)
a
{1, 2, 3}
# a.discard(el), if not found, do nothing
a.discard(4)

pop

a.pop()
1
a
{2, 3}

交集

a.intersection(b)
{2, 3}

差集

# a - b
a.difference(b)
set()
# b - a
b.difference(a)
{4}

集合关系

a.issubset(b)
True
b.issuperset(a)
True

清空

a.clear()
a
set()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Coding迪斯尼

eactjs开发自制编程语言Monkey的编译器:高能技术干货之语法高亮2

1335
来自专栏菩提树下的杨过

[复习]The C Programming Language 2nd 习题集(1.1-1.10)

买不起iPhone4,只能弄了一台iTouch4,想尝试一下iOS上的开发,虽然有monoTouch可用,但是这东西要399美金授权,换成RMB好几千块了,算了...

2146
来自专栏IMWeb前端团队

Zepto核心模块之工具方法拾遗

本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 平时开发过程中经常会用类似each、map、forEach之类的方法...

2876
来自专栏程序员互动联盟

【编程基础】C++ Primer快速入门三:两种控制语句

语句总是顺序执行的:第一条语句执行完了接着是第二条,第三条等等。这是最简单的情况,为了更好的控制语句的运行,程序设计语言提供了多种控制结构支持更为复杂的语句执行...

3369
来自专栏程序员的SOD蜜

C#中?与??的区别

起初我也不知道C#中有??操作符,今天张鹏在查看我的MVC示例程序的时候问了这个问题,检查代码后发现,下面的代码是VS2010在生成MVC应用程序自己添加的: ...

2297
来自专栏Golang语言社区

Golang中container/list包中的坑

但是list包中大部分对于e *Element进行操作的元素都可能会导致程序崩溃,其根本原因是e是一个Element类型的指针,当然其也可能为nil,但是gol...

4349
来自专栏数据小魔方

NoSQL学习笔记之——Redis基础

之前练习过一篇NoSQL之Mongodb基础的笔记,这一篇开始练习NoSQL系列的又一重要利器——Redis。 Redis是一个开源的,基于内存并可持久化的日志...

2766
来自专栏Java架构师历程

JAVA学习大纲

第一节 JAVA概念与JDK的安装 1.1JAVA语言的特点: 1.1.1简单性                      1.1.2面向对象:封装、继承、...

3441
来自专栏用户画像

H5中的标记方法

要使用H5标记,必须先进行如下的doctype声明,不区分大小写。Web浏览器通过判断文件开头有没有这个声明,来判断解析器和渲染类型是否切换到对应的H5模式。

791
来自专栏从零开始学自动化测试

python笔记14-读取yaml配置文件

yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,...

4658

扫码关注云+社区