集合

s=set('chen xi')
s1=['cx','ee','cx']
s2=set(s1)#set为集合
print(s2,type(s2))
s=list(s2)
print(s,type(s))

 测试

D:\python\python.exe D:/untitled/dir/for.py
{'cx', 'ee'} <class 'set'>
['cx', 'ee'] <class 'list'> Process finished with exit code 0

  集合的创建

s=set("chenxi cx bhbhbm km")
print(s)

  测试;帮我们去重set

D:\python\python.exe D:/untitled/dir/for.py
{'h', 'k', 'c', 'x', ' ', 'n', 'e', 'm', 'b', 'i'}

   注意set必须是不可哈希的值

li = [[1,2],3,'huhu']
s= set(li)
print(s)

  测试报错

D:\python\python.exe D:/untitled/dir/for.py
Traceback (most recent call last):
File "D:/untitled/dir/for.py", line 371, in <module>
s= set(li)
TypeError: unhashable type: 'list' Process finished with exit code 1

  判断集合是否包含指定的字符串

li = [1,2,3,'huhu']
s= set(li)
# print(s)
print(2 in s)
print(4 in s )
print('h' in s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
True
False
False Process finished with exit code 0

  集合更新之添加元素

li = [1,2,3,'huhu']
s= set(li)
# print(s)
# print(2 in s)
# print(4 in s )
# print('h' in s)
# print('huhu' in s)
print(s)
s.add('u')
print(s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}

  集合更新之添加多个元素

li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 'huhu', 'g', 'h', 'd', 'a', 'u', 'f', 's'}

  更新数字字母

li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 'f', 'huhu', 's', 'a', 'd', 'g', 'u', 'h'}
{1, 2, 3, 'f', 'huhu', 'huhbjkjkjkjkjk', 's', 12, 'a', 'd', 'g', 'u', 'h'}

集合删除指定元素操作

li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 'f'}
{1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 12, 'f', 'huhbjkjkjkjkjk'}
{1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 'f', 'huhbjkjkjkjkjk'}

  集合之删除随意元素

li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)
s.pop()
print(s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'u', 'huhu'}
{1, 2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'g', 's'}
{1, 2, 3, 'a', 'h', 'd', 12, 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}
{1, 2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}
{2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}

  清空集合

li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)
s.pop()
print(s)
s.clear()
print(s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 's', 'f', 'a', 'd', 'g', 'huhu', 'h', 'u'}
{1, 2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 12, 'huhu', 'h', 'u'}
{1, 2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 'huhu', 'h', 'u'}
{2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 'huhu', 'h', 'u'}
set() Process finished with exit code 0

 删除集合

 

li = [1,2,3,'huhu']
s= set(li)
# print(s)
# print(2 in s)
# print(4 in s )
# print('h' in s)
# print('huhu' in s)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)
s.pop()
print(s)
s.clear()
print(s)
del s
print(s)

  测试

D:\python\python.exe D:/untitled/dir/for.py
Traceback (most recent call last):
{'huhu', 1, 2, 3}
File "D:/untitled/dir/for.py", line 391, in <module>
{1, 2, 3, 'u', 'huhu'}
print(s)
{'s', 1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'f', 'g'}
NameError: name 's' is not defined
{'s', 1, 2, 3, 'a', 'd', 12, 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
{'s', 1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
{1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
set() Process finished with exit code 1

  比较两个集合是否相同

print(set('chenxi')==set('cheeennnxxxi'))

  测试

D:\python\python.exe D:/untitled/dir/for.py
True Process finished with exit code 0

  判断第一个集合是否被第二个集合包含;如果完全一样打印

print(set('chenxi')==set('cheeennnxxxi'))
print(set('cx')<set('chenxigg'))

  测试

D:\python\python.exe D:/untitled/dir/for.py
True
True

  判断第一个集合是否被第二个集合包含;如果完全一样打印

print(set('chenxi')==set('cheeennnxxxi'))
print(set('cx')<set('chenxigg'))
print(set('cx')<set('cx'))

  测试

D:\python\python.exe D:/untitled/dir/for.py
True
True
False Process finished with exit code 0

  取两个都有的元素

print(set('yfgfggcgcffxdfx sd f') & set('hhghghg v'))

  测试

{' ', 'g'}

  取并集,取两个集合都包括的。只有有一个集合包含的就打印

print(set('yfgfggcgcffxdfx sd f') | set('hhghghg v'))

  测试

D:\python\python.exe D:/untitled/dir/for.py
{' ', 'g'}
{' ', 'h', 'd', 's', 'g', 'y', 'f', 'c', 'x', 'v'}

  取交集的另一给个方法

s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(s.intersection(v))

  测试

D:\python\python.exe D:/untitled/dir/for.py
{' ', 'g'} Process finished with exit code 0

  取并集

s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(s.union(v))

  测试

D:\python\python.exe D:/untitled/dir/for.py
{'g', 'f', 'c', 'y', 'h', ' ', 'v', 'd', 's', 'x'} Process finished with exit code 0

  取集合里的差集,s里有的v里没有的

s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(s.difference(v))

  测试

D:\python\python.exe D:/untitled/dir/for.py
{'s', 'x', 'c', 'y', 'f', 'd'} Process finished with exit code 0

  取集合里的差集,v里有的s里没有

s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(v.difference(s))

  测试

D:\python\python.exe D:/untitled/dir/for.py
{'h', 'v'} Process finished with exit code 0

  

  

 

python 基础之集合的更多相关文章

  1. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  2. Python基础(三)——集合、有序 无序列表、函数、文件操作

    1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...

  3. python 基础 set 集合类型补充

    为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...

  4. python基础08_set集合

    关于前几次课的回顾: #!/usr/bin/env python # coding:utf-8 ## 字符串 数字 列表 元组 字典 ## 可变:列表 字典 ## 不可变:字符串, 数字, 元组 na ...

  5. python基础七--集合

    12.221.昨日内容回顾 小数据池: int:-5--256 str:1.不能有特殊字符 2.*int不能超过20 编码:所能看到的最小构成单位叫字符 ascii : 8位 1字节 表示1个字符 u ...

  6. Python基础入门-集合

    今天给大家分享的是python中集合(set)的概念,集合这个词其实和高中学的数学集合的概念很相近,或者作为初学者你就可以把它理解为数学当中的集合.在python中集合(set)是由一个个键组成的,但 ...

  7. python基础——数字&集合&布尔类型

    Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...

  8. Python基础-set集合操作

    set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...

  9. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  10. Python基础操作-集合

    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...

随机推荐

  1. 字符串类型:char,varchar,text,enum,set

    字符串类型 1.char 格式:char (M) 2.varchar 格式:varchar (M) [注意]M表示允许的字符串长度[65535].M表示的是字符数,而不是字节数.但是最大长度的使用是按 ...

  2. nginx配置 yii2 URL重写规则 SSI配置使shtml

    location / { // 加上红色部分 重写url try_files $uri $uri/ /index.php?$args; if (!-e $request_filename){ rewr ...

  3. iOS 自动化打包发布(Fastlane+ Jenkins+蒲公英)

    安装 Xcode 命令行工具:xcode-select --install 安装 fastlane:sudo gem install fastlane --verbose 安装成功后查看版本:fast ...

  4. acm数论之旅--唯一分解定理

    题目: 给出n,问n = b^p中p符合该等式的最大值 分析: 先求出所有n的质因子,然后对这m个质因子分类统计,比如 n = 36时,可以分成 2个2,2个3,然后求出所有这些基数的 最大公因数gc ...

  5. 解决VMware Workstation下Win2012R2无法安装Hyper-v问题

    有时候我们需要测试Hyper-V但是发现VMware下不能够正常安装,提示:验证过程发现你要安装功能的服务器存在问题.所选功能与所选服务器的当前配置不兼容.无法安装Hyper-V:虚拟机监控程序已在运 ...

  6. spring中web.xml指定配置文件

    <context-param> <param-name>contextConfigLocation</param-name> <param-value> ...

  7. [转]工作量证明(PoW)权益证明(PoS)和委任权益证明(DPoS)区别

    原文链接 Both in the glossary and in some of our previous posts we've touched on mining and the two main ...

  8. centos openoffice 的启动

    https://blog.csdn.net/resolute123/article/details/77304973

  9. 浅析PHP页面局部刷新功能的实现小结(转)

    转载地址 https://www.jb51.net/article/38901.htm 方法其实挺多的.以前比较常用的是iframe这样来做.现在多了个ajax,所以一般情况下都是用的ajax.第一种 ...

  10. java redis 实现用户签到功能(很普通简单的签到功能)

    业务需求是用户每天只能签到一次,而且签到后用户增加积分,所以把用户每次签到时放到redis 缓存里面,然后每天凌晨时再清除缓存,大概简单思想是这样的 直接看代码吧如下 @Transactional @ ...