Python 离线等价类
离线等价类的概念见离线等价类
最近在清洗数据的时候涉及到要将相似度比较高的文件夹合并,特征比对得到是1:1的对,比如:
(a,b),(c,d),(a,c)...,那么合并的时候就涉及到将这些等价的对合并成一个大类,直观上这就是一个离线等价类的问题。
import os
import pickle
with open(r"D:\PhotoLibrary\Uface_cropped_pairs\same_pairs0.8.pkl",'rb') as f:
pairs = pickle.load(f)
#construct pair list
pairs_lst={}
for pair in pairs:
a,b = pair
if a not in pairs_lst:
pairs_lst[a]=[]
if b not in pairs_lst:
pairs_lst[b]=[]
pairs_lst[a].insert(0,b)
pairs_lst[b].insert(0,a)
flag={}
classes=[]
S=[]
for item in pairs_lst.items():
if not item[0] in flag:
flag[item[0]]=True
set=[item[0]]
S.append(item[0])
while len(S)>0:
a=S.pop()
for b in pairs_lst[a]:
if not b in flag:
flag[b]=True
S.append(b)
set.append(b)
classes.append(set)
for s in classes:
print(s)
print("test")
Python 离线等价类的更多相关文章
- Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包
联网情况下在命令终端CMD中输入“pip install numpy”即可自动安装,pandas和matplotlib同理一样方法进行自动安装. 工作的电脑不能上外网,所以不能通过直接输入pip命令来 ...
- python离线安装包
一.用download命令离线下载包 *.whl , 这个方法好像python3.7以上才能用 那么我的requirement.txt内容就是: django==1.8.11 simplejson= ...
- 断网环境下利用pip安装Python离线安装包
这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows 7 # python 2.7.9 # pip 1.5.2 友情提示:当 ...
- Python 离线环境
一.应用场景 比如:对于数据安全要求比较严格的机房,服务器是不允许上网的.那么我现在开发了一套python程序,需要一些模块,怎么运行? 二.离线包制作 有2个解决方案: 1. 使用requireme ...
- Python离线环境
一.应用场景 比如:对于数据安全要求比较严格的机房,服务器是不允许上网的.那么我现在开发了一套python程序,需要一些模块,怎么运行? 二.离线包制作 有2个解决方案: 1. 使用requireme ...
- Python离线项目迁移部署
最近遇到了一个场景:需要将Python项目文件打包到无法联网的主机上部署执行,本篇文章记录针对于该场景的处理方案. 说明: 源主机(可联网):安装了Python3和pip3 目标主机(无法联网):需安 ...
- Python离线安装Flask
受限于内网,无法使用pip install Flask直接安装. 以Flask-0.12.2为例 安装Flask需要以下的依赖性,在安装Flask离线版时可以看到依赖性要求. 离线安装文件地址: ht ...
- Python 离线 安装requests第三方库
一.介绍 requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,不过requests的优势在于使用简单,相同一个功能,用requests实现起来代码量要少很多.毕竟 ...
- Python 离线工作环境搭建
准备 在断网的和联网的机器安装pip,下载地址https://pypi.python.org/pypi/pip 在联网的开发机器上安装好需要的包 例如: pip3 install paramiko p ...
随机推荐
- HDU - 5438 Ponds(拓扑排序删点+并查集判断连通分量)
题目: 给出一个无向图,将图中度数小于等于1的点删掉,并删掉与他相连的点,直到不能在删为止,然后判断图中的各个连通分量,如果这个连通分量里边的点的个数是奇数,就把这些点的权值求和. 思路: 先用拓扑排 ...
- bzoj3336 Uva10572 Black and White
题目描述: 数据范围:2<=n,m<=8 题解: 很明显需要状压.但是怎么压不知道,压什么不知道. 然后从条件下手. 条件1要求黑色在一起白色在一起,记录轮廓线很容易做到. 条件2要求不能 ...
- openjudge-1664 放苹果
总时间限制: 1000ms 内存限制: 65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. 输 ...
- 关于flock文件锁的阻塞与非阻塞
阻塞模式,程序会一直等待. <?php $fp = fopen("lock.txt", "r"); if(flock($fp,LOCK_EX)) { // ...
- php S3
转载自:http://www.cnblogs.com/wangxusummer/p/6398772.html <?php /* * To change this license header, ...
- sql使用row_number()查询标记行号
背景: 在分页功能中,记录需分页显示,需要row_number()函数标记行号. 数据表: 排序之前数据表显示: sql语句: select ROW_NUMBER() over(order by id ...
- Java学习之跳转语句
Java语言中提供3中跳转语句,分别是break语句.continue语句和return语句. break语句 可以用在switch语句中.在switch语句中,break语句用于中止下面的case语 ...
- Couchbase III(Python Library)
Couchbase III(Python Library) 第一步 安装 使用pip安装: >pip install couchbase --quiet 确认是否安装成功: >python ...
- div添加滚动条
- xtu summer individual 2 D - Colliders
Colliders Time Limit: 2000ms Memory Limit: 262144KB This problem will be judged on CodeForces. Origi ...