[快学Python3]Sets(集合)

概述

set是Python的基本数据类型,它有可变集合(set()) 和不可变集合(frozenset)两种,在本节中,我们主要讲解set的使用方法。set和dict类似,其主要特性是:

  • 其存储的元素是无序的
  • 其存储的元素是不重复

下面我们看一下如何创建集合:

set1 = set(u"DeepTest DeepTest")

# 打印出来看看效果

print(set1)

# 上述语句将输出: {'t', 'D', 's', 'T', 'p', 'e'}

这里体现了set的关键特性:无序、不重复。

set方法

在Python中,通过add方法来给set新增新的元素,如果添加重复元素,会被自动过滤掉,即添加没任何效果。

  • add 新增一个元素到set中
  • remove 从set中删除指定的元素
  • clear 清空set集合
  • update 用于新增多个元素值,参数为list
  • issubset 用法 s1.issubset(s2), 判断s1中的每个元素是否都在s2中,即s1<-s2
  • issuperset 用法 s1.issuperset(s2), 判断s2中的每个元素是否都在s1中,即s1>=s2
  • union 并集,返回两个集合的并集
  • intersection 交集,返回两个集合的交集
  • difference 用法 s1.difference(s2), 返回s1中有s2中没的元素

下面看下代码示例:

# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

if __name__ == "__main__":
    print(u"set操作示例")

    set_source = set([1, 1, 2, 3, 4, 5, 6, 7])
    set_demo = set([1, 1, 2, 3, 4, 5, 6, 7])

    print(u"原始数据: ", end="")
    print(set_demo)    
    
    # add方法,新增元素
    print(u"add后: ", end="")
    set_demo.add(9)
    set_demo.add(1)

    print(set_demo)    
    
    # remove 删除元素
    print(u"remove后: ", end="")
    set_demo.remove(9)
    
    print(set_demo)    
    
    # update 新增多个元素值
    list_demo = ["a", "b", "c"]
    set_demo.update(list_demo)

    print(u"update后: ", end="")
    print(set_demo)

运行效果如下:

set操作示例
原始数据: {1, 2, 3, 4, 5, 6, 7}
add后: {1, 2, 3, 4, 5, 6, 7, 9}
remove后: {1, 2, 3, 4, 5, 6, 7}
update后: {1, 2, 3, 4, 5, 6, 7, 'b', 'a', 'c'}

对于其他方法的使用,请自行练习掌握。

原文发布于微信公众号 - 开源优测(DeepTest)

原文发表时间:2017-06-04

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端迷

关于数组中forEach() 、map()、filter()、reduce()、some()、every()的总结

1101
来自专栏武军超python专栏

2018-7月19日系统模块字符串操作

每天遇到的新单词: recursion   n:递归 objece      n:对象 maximum     adj:最大值 exceed      ...

1233
来自专栏java一日一条

JavaScript 中 this 的使用技巧总结

在 js 中,this 这个上下文总是变化莫测,很多时候出现 bug 总是一头雾水,其实,只要分清楚不同的情况下如何执行就 ok 了。

813
来自专栏前端儿

PHP--正则表达式和样式匹配--小记

POSIX 风格的,有些低版本软件支持,目前高版本的有些已经废弃不用了,比如 zend studio 的较新版本.

1711
来自专栏Golang语言社区

Go语言指针

Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语言指针。 我们都知道,变量是一种使用方便的占位...

34312
来自专栏mwangblog

python条件执行

1314
来自专栏coder修行路

go基础之--函数和map

在整理函数之前先整理一下关于指针 指针 普通类型变量存的就是值,也叫值类型。指针类型存的是地址,即指针的值是一个变量的地址。 一个指针指示值所保存的位置,不是所...

2947
来自专栏散尽浮华

python基础随笔

一: 作用域 对于变量的作用域,只要内存中存在,该变量就可以使用。 二:三元运算 name = 值1 if 条件 else 值2 如果条件为真:result =...

2179
来自专栏Python中文社区

Python标准库(1) — itertools模块

專 欄 ❈Jerry,Python中文社区专栏作者。 blog:https://my.oschina.net/jhao104/blog github:ht...

2119
来自专栏开源优测

[快学Python3]Tuple(元组)

概述 元组,使用小括号()来标识,其特点是:元组中的元素不可修改 下面我们看下如何创建元组的示例: tuple1 = (u'DeepTest', u'开源优测'...

2685

扫码关注云+社区

领取腾讯云代金券