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 条评论
登录 后参与评论

相关文章

来自专栏开源优测

Selenium3源码之异常模块篇

Selenium3源码之异常模块篇 简介 本文分析Selenium3源码中关于异常处理的通用代码,要分析的代码位置如下(路径为:***python3/lib/s...

3766
来自专栏数据小魔方

NoSQL学习笔记之——Redis基础

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

2676
来自专栏Golang语言社区

如何在Go的函数中得到调用者函数名?

有时候在Go的函数调用的过程中,我们需要知道函数被谁调用,比如打印日志信息等。例如下面的函数,我们希望在日志中打印出调用者的名字。

973
来自专栏聊聊技术

原 初学ACM - 半数集(Half Se

3868
来自专栏Golang语言社区

Golang中container/list包中的坑

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

4069
来自专栏IMWeb前端团队

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

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

2806
来自专栏Golang语言社区

Golang中container/list包中的坑

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

36114
来自专栏IMWeb前端团队

Zepto中数据缓存原理与实现

本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 以前我们使用Zepto进行开发的时候,会把一些自定义的数据存到dom...

16910
来自专栏Coding迪斯尼

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

1215
来自专栏xiaoxi666的专栏

c++ 继承类强制转换时的虚函数表工作原理

本文通过简单例子说明子类之间发生强制转换时虚函数如何调用,旨在对c++继承中的虚函数表的作用机制有更深入的理解。

1043

扫码关注云+社区