python实现取得成员所在的多个位置
注:本代码主要是为了实现多个集合之间求并集时的辅助代码,简单的举个例子来说明代码的功能。
约定:例如{11: [2, 3]}表示数据11在集合2和集合3中都存在。
现有以下数据:
1 # encoding: utf-8
2
3 def func(content):
4 all_dict = {}
5 for d in content:
6 for k in d.keys():
7 tmp_value = d[k]
8 if k in all_dict.keys():
9 tmp_values = all_dict[k]
10 # 更新成员数
11 for i in range(len(tmp_value)):
12 if tmp_value[i] not in tmp_values:
13 tmp_values.append(tmp_value[i])
14 all_dict[k] = tmp_values
15
16 if k not in all_dict.keys():
17 # 这里需要处理一种情况:如13: [0, 0],某个字典的值有重复的元素。
18 tmp_values = []
19 for i in range(len(tmp_value)):
20 tmp = tmp_value[i]
21 if tmp in tmp_values:
22 continue
23 tmp_values.append(tmp)
24 all_dict[k] = tmp_values
25
26 return all_dict
27
28
29 if __name__ == "__main__":
30
31 d0 = {38: [2], 11: [2, 3], 22: [2, 3]}
32 d1 = {11: [0, 0, 1, 3], 13: [0, 0], 22: [0, 0, 3], 14: [0, 0, 1, 3]}
33 d2 = {32: [1, 1], 35: [1, 1], 11: [1, 1, 3], 14: [1, 1, 3], 23: [1, 1]}
34 d3 = {33: [3], 66: [3], 11: [3], 14: [3], 22: [3], 55: [3]}
35 d4 = {38: [2], 11: [2, 3], 22: [2, 3], 13: [0, 0], 14: [0, 0, 1, 3], 32: [1, 1], 35: [1, 1], 23: [1, 1], 33: [3], 66: [3], 55: [3]}
36
37 res = func([d0, d1, d2, d3, d4])
38 for key in res:
39 print (key, ':', res[key])
输出结果为:
1 38 : [2]
2 11 : [2, 3, 0, 1]
3 22 : [2, 3, 0]
4 13 : [0]
5 14 : [0, 1, 3]
6 32 : [1]
7 35 : [1]
8 23 : [1]
9 33 : [3]
10 66 : [3]
11 55 : [3]
python实现取得成员所在的多个位置的更多相关文章
- Python 类变量和成员变量
Python 类变量和成员变量 类与对象的方法 我们已经讨论了类与对象的功能部分,现在我们来看一下它的数据部分.事实上,它们只是与类和对象的名称空间 绑定 的普通变量,即这些名称只在这些类与对象的前提 ...
- python之类私有成员
python类的成员前加双下划线"__", 则被看作"私有"成员. 实例不能简单地通过<instance>.<name>来访问. 但py ...
- python学习之-成员信息增删改查
python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...
- 小学生绞尽脑汁也学不会的python(面对对象-----成员)
小学生绞尽脑汁也学不会的python(面对对象-----成员) 成员 class Person: def __init__(self, name, num, gender, birthday): # ...
- bat wmic python 获取进程的所在路径
bat wmic python 获取进程的所在路径 doc: wmic process where name="process-name" get executablepath w ...
- Python的特殊成员
Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划 ...
- Python基础面向对象成员
面向对象中成员 字段: 静态字段保存在类中:静态字段在代码加载时被创建 普通字段保存在对象中: 规则: 普通字段只能用对象访问: 静态字段用类去访问(万不得已的时候可以使用对象访问) #!/usr/b ...
- python学习之成员信息增删改查
主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env python# coding=utf8# ...
- Python:Day25 成员修饰符、特殊成员、反射、单例
一.成员修饰符 共有成员 私有成员,__字段名,__方法 - 无法直接访问,只能间接访问 class Foo: def __init__(self,name,age): self.name = nam ...
- Python面向对象之成员修饰符
对于这些类成员有修饰符 之前定义字段country任何对象都可以访问,是公有的 可以定义为私用属性,只有类内部的方法可以调用,外部不能直接调用,但是可以间接调用 vim day7-10.py #!/u ...
随机推荐
- javascript现代编程系列教程之三——数值表示方式
在64位浮点数的表示中,我们使用了一个叫做"偏移二进制"的技术来存储指数.这是因为我们需要在有限的位数(在这种情况下是11位)内表示正数和负数. 让我们更详细地解释一下: 符号位: ...
- cookie与localStorage与sessionStorage
1. cookie 1_1: 简述 HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送(由服务器设置后返回给浏览器端)到用户浏览器并保存在本地的一小块数据.浏览器 ...
- vue3 快速入门系列 —— 其他API
其他API 前面我们已经学习了 vue3 的一些基础知识,本篇将继续讲解一些常用的其他api,以及较完整的分析vue2 和 vue3 的改变. 浅层响应式数据 shallowRef shallow 中 ...
- 力扣71(java)-简化路径(中等)
题目: 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径. 在 Unix 风格的文件系统中,一个点(.)表示当前目 ...
- PeLK:101 x 101 的超大卷积网络,同参数量下反超 ViT | CVPR 2024
最近,有一些大型内核卷积网络的研究,但考虑到卷积的平方复杂度,扩大内核会带来大量的参数,继而引发严重的优化问题.受人类视觉的启发,论文提出了外围卷积,通过参数共享将卷积的复杂性从 \(O(K^{2}) ...
- 云企业网CEN-TR打造企业级私有网络
简介: 为了满足企业大规模.多样化的组网和网络管理需求,云企业网(CEN)提出了转发路由器TR(Transit Router)的概念.在每个地域内创建一个转发路由器,可以连接大量VPC.VBR,作为您 ...
- 一图速览 | DTCC 2021大会,阿里云数据库技术大咖都聊了些什么?
简介: 3天9场干货分享,快来收藏吧! 10月18日~10月20日, 由国内知名IT技术社区主办的数据库技术交流盛会--DTCC 2021 (第十一届中国数据库技术大会)在京圆满落幕.大会以&quo ...
- [CI/CD] 持续集成 & 持续部署 之 Github Actions
1. 配置 ssh 免密登录 看这篇简短的就够了 SSH 免密登录主机/服务器 怎么操作 ? 2. 定义 workflow Github Actions 针对项目语言提供了一系列模板,通过稍加修改并组 ...
- Unity3D OpenVR 虚拟现实 保龄球打砖块游戏开发
据说水哥买了 Valve Index 设备,既然这个设备这么贵,不开发点有(zhi)趣(zhang)游戏就感觉对不起这个设备.本文将来开始着手开发一个可玩性不大,观赏性极强的保龄球打砖块游戏.这仅仅只 ...
- python 打包成exe可执行文件
一.pyinstall打包 代码编写完成,如何在没有python环境的电脑上运行?编写了一个GUI程序,如何把文件打包好,发给别人直接使用?其实最简单的办法就是把.py源文件,打包成可执行程序员exe ...