python 基础之集合
集合
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 基础之集合的更多相关文章
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
- python 基础 set 集合类型补充
为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...
- python基础08_set集合
关于前几次课的回顾: #!/usr/bin/env python # coding:utf-8 ## 字符串 数字 列表 元组 字典 ## 可变:列表 字典 ## 不可变:字符串, 数字, 元组 na ...
- python基础七--集合
12.221.昨日内容回顾 小数据池: int:-5--256 str:1.不能有特殊字符 2.*int不能超过20 编码:所能看到的最小构成单位叫字符 ascii : 8位 1字节 表示1个字符 u ...
- Python基础入门-集合
今天给大家分享的是python中集合(set)的概念,集合这个词其实和高中学的数学集合的概念很相近,或者作为初学者你就可以把它理解为数学当中的集合.在python中集合(set)是由一个个键组成的,但 ...
- python基础——数字&集合&布尔类型
Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...
- Python基础-set集合操作
set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Python基础操作-集合
在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...
随机推荐
- 微信小程序--缓存,支持过期时间的二次开发封装
简介 微信小程序提供了缓存的api,包括同步和异步两种,具体api不多说明,可自行查看官方文档 现在微信小程序缓存api存在一个问题就是没有设定过期时间,下面给大家介绍一下对小程序缓存的二次封装,使其 ...
- Linux - CentOS7 命令行快捷键简介
1. 概述 CentOS7 下输入命令的一些快捷键 2. 快捷键 1. 移动 单个字符 ctrl + b/f 单个单词 alt + b/f 行首行尾 ctrl + a/e 2. 编辑 删除单个字符 c ...
- yii2 components
components顾名思义就是组件的意思,yii默认会根据 components 数组里面的键值去 vendor\yiisoft\yii2\web 里面查找这个键值得类,如果没有找到,再根据这个键值 ...
- inconsistent use of tabs and spaces in indentation
这个报错就是混用了tab和4个空格造成的,检查代码,要不全部用tab,要不全部用4个空格,或者用idle编辑器校正
- npm报错This is probably not a problem with npm. There is likely additional logging
使用webstorm开发时,遇到npm 报错,于是尝试了如下所有的方法,不完全统计. https://blog.csdn.net/liu305088020/article/details/791823 ...
- 红帽RHCE培训-课程3笔记目录
目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...
- Hybrid App 开发快速指南
链接:https://blog.csdn.net/valada/article/details/81639658
- pycharm中可以运行的程序,在命令行中运行提示模块不存在的问题
运行模块(包含main函数的模块),在模块开头添加以下代码,原因是pycharm运行python脚本时,会自动添加以下代码,将当前库加入到系统库目录集合中,在命令行中运行需要手动添加import os ...
- 吴裕雄 python 人工智能——基于Mask_RCNN目标检测(1)
import os import sys import random import math import numpy as np import skimage.io import matplotli ...
- PostgreSQL日期加减
在PostgreSQL中可以直接对时间进行加减运算:. SELECT now()::timestamp + '1 year'; --当前时间加1年 SELECT now()::timestamp + ...