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 ...
随机推荐
- input清空和select重置
在添加成功之后,再次打开模态框添加数据,需要清空input和重置select标签 清空div下所有input的输入内容 $("#divId input").val("&q ...
- IOS高级开发之多线程(四)NSOperation
1.什么是NSOperation,NSOperationQueue? NSOperation是一个抽象的基类,表示一个独立的计算单元,可以为子类提供有用且线程安全的建立状态,优先级,依赖和取消等操作. ...
- Vue-admin工作整理(十六):Ajax-axios进行请求封装+拦截器
典型的工具类封装,增加拦截起来做相应的处理 user.js: import axios from './index' export const getUserInfo = ({ userId }) = ...
- C#实现基于ffmpeg加虹软的人脸识别demo及开发分享
对开发库的C#封装,屏蔽使用细节,可以快速安全的调用人脸识别相关API.具体见github地址.新增对.NET Core的支持,在Linux(Ubuntu下)测试通过.具体的使用例子和Demo详解,参 ...
- Linux服务器,服务管理--systemctl命令详解,设置开机自启动
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...
- 2018-2019-2 网络对抗技术 20165303 Exp1 PC平台逆向破解(BOF实验)
1.实践目的 本次实践的对象是一个名为pwn1的linux可执行文件. 三个实践内容如下: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 利用foo函数的Bof漏洞,构造一个 ...
- mysql创建新用户出现错误处理
心血来潮创建一个新用户,结果...步步艰难啊,好在最后成功,把我出现的问题和解决方案抛出来,希望大家顺顺利利创建成功┗|`O′|┛ 嗷~~ 我出现的错误主要有这三种: 1.ERROR 1064 (42 ...
- 【实战问题】【3】iPhone无法播放video标签中的视频
问题:视频都是MP4格式,视频可以在手机上正常播放.video标签中的视频在安卓点击可以播放,但在iPhone无法播放 解决方案: 1,视频编码格式问题,具体iPhone手机支持的是哪些格式可见官方的 ...
- vue手把手教你实现走马灯商品左右轮播图
<template> <div> <div class="back_add"> <div class="threeImg&quo ...
- react native练习
import React, { Component } from 'react' import { Platform, StyleSheet, Text, View,Image ,FlatList} ...