Python中集合set()的使用及处理
在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点
1.创建set
创建set需要一个list或者tuple或者dict作为输入集合
重复的元素在set中会被自动过滤
s1 = set([1,2,3,4,3,4,5])
print (s1) s2 = set((1,2,3,4,5,1,2,3))
print (s2) s3 = set({1:"good",2:"nice"})
print (s3)
以上代码运行结果为:
>>>{1, 2, 3, 4, 5}
>>>{1, 2, 3, 4, 5}
>>>{1, 2}
我们可以看到list和tuple中的重复元素被自动过滤了,并且dict转为set时只保存了key值,并没有保存value值
2.添加
s4 = set([1,2,3,4,5])
s4.add(6)
s4.add(3) #可以添加重复的,但是不会有效果
#s4.add([7,8,9]) set的元素不能是列表,因为列表是可变的,同理字典也不能添加至set
print (s4)
运行结果为:
>>>{1, 2, 3, 4, 5, 6}
3.插入
s5 = set([1,2,3,4,5])
s5.update([6,7,8])
s5.update((9,10))
s5.update("nice")
print (s5)
使用update()函数我们可以插入整个的list、tuple、字符串,将其打碎插入,运行结果为:
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'c', 'n', 'e', 'i'}
我们可以看到插入的元素都被打碎,并且无序的插入了set中
4.删除
s6 = set([1,2,3,4,5])
s6.remove(3)
print (s6)
运行结果为:
>>>{1, 2, 4, 5}
5.遍历
set是没有索引的,但我们同样可以用for对set进行遍历
s7 = set(['n', 'i', 'c', 'e'])
for i in s7:
print (i)
运行结果为:
>>>1 c
>>>2 n
>>>3 e
>>>4 i
注意for返回的结果同样是无序的
6.set的enumerate
for index,data in enumerate(s7):
print (index,data)
返回结果为:
>>>0 c
>>>1 n
>>>2 e
>>>3 i
结果为无序的
7.set的交集与并集
#交集
s8 = set([1,2,3,4])
s9 = set([3,4,5,6])
a1 = s8 & s9
print (a1)
print (type(a1))
#并集
a2 = s8 | s9
print (a2)
print (type(a2))
运行结果为:
{3, 4}
<class 'set'>
{1, 2, 3, 4, 5, 6}
<class 'set'>
Python中集合set()的使用及处理的更多相关文章
- python中集合set,字典dict和列表list的区别以及用法
python中set代表集合,list代表列表,dict代表字典 set和dict的区别在于,dict是存储key-value,每一个key都是唯一的,set相对于dict存储的是key,且key是唯 ...
- python中集合-set
集合-set 集合是高中数学中的一个概念 一堆确定的无序的唯一的数据,集合中每一个数据成为一个元素 # 集合的定义 s = set() print(type(s)) print(s) print(&q ...
- Python学习-31.Python中集合的一些操作
add方法: s = {1,2,3} s.add(4) print(s)# {1, 2, 3, 4} 同list的append方法,若调用s.add(3),则不会有任何影响.这点与C#中的HashSe ...
- (转)Python中集合(set)的基本操作以及一些常见的用法
原文:http://blog.51cto.com/10616534/1944841 Python除了List.Tuple.Dict等常用数据类型外,还有一种数据类型叫做集合(set),集合的最大特点是 ...
- Python中集合的操作
Python集合的基本详情 集合是无序的 集合是可变数据类型 集合属于不可哈希范围 集合自动去重 集合的操作 set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} ...
- python中集合及运算
一.集合set()的特点: 集合的特点:有的可变,有的不可变:元素无次序,不可重复. 集合中的元素不能重复,可作为一种简单高效的元素去重方式. 集合没有索引,它的元素无次序,不是序列. 利用set() ...
- Python中集合类型(set)学习小结
set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引.分片等类序列的操作. 初始化 复制代码代码如下: s0 = set()d0 = {}s ...
- Python中集合类型的使用
集合类型 多个不重复元素的无序组合 集合类型的表示 建立非空集合的方式可以用{}来表示 采用set()来表示 集合类型的操作符 S|T 返回一个新集合,这个集合包含S与T中的所有元素. S-T 返回一 ...
- python中集合
去重 无序 没有索引 #remove 删除元素 >>> s1 = {1,2,3,4,5} >>> s1.remove(2) >>> print(s ...
随机推荐
- MySQL卸载安装8.0.*
一.卸载 1. 本人安装目录在C盘Program Files文件中(删除MySQL文件夹) 2. 找到C盘Program Data隐藏文件夹中的MySQL并删除(删除提示MySQL在运行的话可以去任务 ...
- laravel——ajax分页&删除&搜索
一.视图代码 /*搜索*/<form action="javascript:search_brand()" name="searchForm"> & ...
- laravel框架——验证码(第一种方法)
一.在框架根目录下下载图形验证码的组件 composer require gregwar/captcha=1.* 二.控制器代码 use Gregwar\Captcha\CaptchaBuilder; ...
- IOS 模块并且发布到NPM
注释:导入出错 请使用这个 #import <React/RCTBridge.h> 参考文档:http://www.liuchungui.com/blog/2016/05/02/r ...
- UVALive - 3942 (字典树)
递推:$d(i) $表示从第$i$个字符开始到末尾的字符串(即后缀S[i...n])的分解方案数,则$d(i) = \sum {d(i + len(x))} $,其中字符串$x$代表S[i...n]的 ...
- CF Manthan, Codefest 16 B. A Trivial Problem
数学技巧真有趣,看出规律就很简单了 wa 题意:给出数k 输出所有阶乘尾数有k个0的数 这题来来回回看了两三遍, 想的方法总觉得会T 后来想想 阶乘 emmm 1*2*3*4*5*6*7*8*9 ...
- reactiveCocoa使用注意点
@RACSubject信号 注意点:1如果一个页面需要多次发送这个消息,那么似乎会暴露一个bug,信号不会被销毁,等到发送第二个信号 时,第一个信号仍然会被发送,导致错误,比如一个tableView的 ...
- java mvn:安装jar包
mvn install:install-file -Dfile=fastdfs-client-java-1.27-SNAPSHOT.jar(路径) -DgroupId=org.csource -Dar ...
- SpringBoot之配置文件加载位置
1.SpringBoot启动会扫描application.properties或者application.yml文件作为springboot的配置文件.默认创建项目生成application.prop ...
- JS回调函数中的this指向(详细)
首先先说下正常的this指向问题 什么是this:自动引用正在调用当前方法的.前的对象. this指向的三种情况 1. obj.fun() fun中的this->obj,自动指向.前的对 ...