python之set(集合) 作者:马育民 • 2018-07-10 23:50 • 阅读:10224 # 介绍 set(集合)是 **无序**、**不重复** 元素的序列 ### 应用场景 防止重复添加元素时 # 创建 ### 用大括号 ```python >s={1,2,3,1} >s ``` 结果只有一个1,如下: ```python {1, 2, 3} ``` 注意,不能使用大括号创建空set,因为大括号用于创建dict ### set()空集合 **注意:** `{ }` 表示 `dict` 类型 ``` s = { } print( type(s) ) # dict ``` ```python s=set() print( type(s) ) # set ``` ### set(iterable) iterable表示可迭代,即string、list、tuple,也就是说set()函数里的参数是string、list、tuple,不能是数字 ```python >s=set([1,2,3,1]) ``` ```python >s=set('hello world!') ``` # 访问元素 由于集合是无序的,所以不能通过索引访问集合的元素 # 遍历 通过 `for...in...` 语句遍历: ``` s = { "李雷",100,3.14,True,"李雷",3.14} for item in s : print(item) ``` # 添加元素 ### 1. add()函数 ```python add(x) ``` 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。 x可以是string、tuple ##### 注意: >不能是list类型 例子: 把字符串添加到集合中 ```python >s.add('吴亦凡') ``` 把元祖添加到集合中 ```python >s.add((1,2)) ``` ### 2. update()函数 ```python s.update(x) ``` 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。 x必须是iterable,即:x 可以有多个,用逗号分开,或者可迭代的类型。如:string、tuple、dict。 **然后把x中的元素拆开放入集合里** ##### 注意: >不能是数字 例子: 把1,4,6,5都放入集合中 ```python >s.update([1,4],[6,5]) ``` ```python s.update("张三","李四") ``` 下面这种写法会报错 ```python s.update(1,2) ``` # 移除元素 ### 1. 方法一 ```python s.remove( x ) ``` 将元素 x 从集合 s 中移除,**如果元素不存在,则会发生错误** 例子: ```python s.remove(4) ``` ### 2. 方法二 ```python s.discard( x ) ``` **如果元素不存在,不会发生错误** 例子: ```python s.discard(4) ``` # 清空集合 ``` >s.clear() ``` # 转换 ### set转换成字符串 如果set中的元素都是字符串,那么可以用如下方式转成字符串 ```python s={'a','b','c'} s2=''.join(s) ``` 原文出处:http://www.malaoshi.top/show_1EF1UCIzcdiL.html