首页 > 编程语言 >python实现获取成员所在的多个位置

python实现获取成员所在的多个位置

时间:2024-05-27 16:35:26浏览次数:28  
标签:tmp 11 14 22 python 所在 获取 values dict

注:本代码主要是为了实现多个集合之间求并集时的辅助代码,简单的举个例子来说明代码的功能。

约定:例如{11: [2, 3]}表示数据11在集合2和集合3中都存在。

现有以下数据:

d0 = {38: [2], 11: [2, 3], 22: [2, 3]}
d1 = {11: [0, 0, 1, 3], 13: [0, 0], 22: [0, 0, 3], 14: [0, 0, 1, 3]}
d2 = {32: [1, 1], 35: [1, 1], 11: [1, 1, 3], 14: [1, 1, 3], 23: [1, 1]}
d3 = {33: [3], 66: [3], 11: [3], 14: [3], 22: [3], 55: [3]}
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]}  

那么所有的元素所在的集合为:

38: [2], 11: [2, 3, 0, 1], 22: [2, 3, 0], 13: [0], 14: [0, 1, 3], 32: [1], 35: [1], 23: [1], 33: [3], 66: [3], 55: [3] 。

下面就是实现的代码:

def func(content):
    all_dict = {}
    for d in content:
        for k in d.keys():
            tmp_value = d[k]
            if k in all_dict.keys():
                tmp_values = all_dict[k]
                # 更新成员数
                for i in range(len(tmp_value)):
                    if tmp_value[i] not in tmp_values:
                        tmp_values.append(tmp_value[i])
                all_dict[k] = tmp_values

            if k not in all_dict.keys():
                # 这里需要处理一种情况:如13: [0, 0],某个字典的值有重复的元素。
                tmp_values = []
                for i in range(len(tmp_value)):
                    tmp = tmp_value[i]
                    if tmp in tmp_values:
                        continue
                    tmp_values.append(tmp)
                all_dict[k] = tmp_values

    return all_dict


if __name__ == "__main__":

    d0 = {38: [2], 11: [2, 3], 22: [2, 3]}
    d1 = {11: [0, 0, 1, 3], 13: [0, 0], 22: [0, 0, 3], 14: [0, 0, 1, 3]}
    d2 = {32: [1, 1], 35: [1, 1], 11: [1, 1, 3], 14: [1, 1, 3], 23: [1, 1]}
    d3 = {33: [3], 66: [3], 11: [3], 14: [3], 22: [3], 55: [3]}
    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]}
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:153708845
    res = func([d0, d1, d2, d3, d4])
    for key in res:
        print (key, ':', res[key])

输出结果为:

38 : [2]
11 : [2, 3, 0, 1]
22 : [2, 3, 0]
13 : [0]
14 : [0, 1, 3]
32 : [1]
35 : [1]
23 : [1]
33 : [3]
66 : [3]
55 : [3]

标签:tmp,11,14,22,python,所在,获取,values,dict
From: https://www.cnblogs.com/Pythonmiss/p/18215840

相关文章

  • Python小技巧:一种字符串的排序方式
    1.排序方式假设有一个序列,数据为:['n1','n2','n10','n11','n21','n3','n13','n20','n23'],排序后需要达到这个效果:['n1','n2','n3','n10','......
  • Python(四)——基础控制流程语句:简单用户登录和输出10以内的奇偶数
    例子1:编写一小段代码,输入正确的账号和密码实现登陆操作。利用input函数判断用户名和密码是否正确,正确输出“欢迎您!“,用户名默认admin,密码默认为123代码实现:username=input("请输入用户名:")password=input("请输入密码:")ifusername=="admin":ifpassword=="123......
  • Python可以声明并赋值一个hash类型变量吗?
    在Python中,不能直接声明一个变量为`hash`类型,因为Python是一种动态类型语言,不需要(也不能)在声明变量时指定其类型。变量的类型是根据赋给它的值自动推断的。将一个哈希值(即一个整数)赋值给一个变量,这个哈希值可以是通过调用内置`hash()`函数获得的任何对象的哈希值。例如:```pyt......
  • python-装饰器
    装饰器基本样式defdecorator(func):defwrapper(*args,**kwargs):print("before")res=func(*args,**kwargs)print("after")returnresreturnwrapper@decoratordeffunc():print("hello&quo......
  • python模块之smtplib邮件处理模块
    要求:发送一封简单的邮件发送html格式的邮件在邮件中带图片发送邮件步骤:1.登录邮件服务器2.构造符合邮件协议规则的邮件内容3.发送python对SMTP支持有smtplib和email模块,email负责构造邮件,smtplib负责发送邮件importsmtplibfromemail.mime.textimportMIMETextf......
  • 【VMware ESXi】使用 smbiosDump 命令获取服务器硬件信息。
    ESXi5.x之前版本,通过SSH连接至ESXi主机,同常规Linux发行版一样,可以使用dmidecode命令来了解服务器的硬件信息。但在之后版本的ESXi主机上,需要使用smbiosDump命令来获取服务器硬件信息,当然运行esxcfg-info命令也可以查找主机信息,不过并没有smbiosDump命令查看方便......
  • Python闭包和装饰器原理
    #Python闭包和装饰器#############闭包##############'''1.一个外层函数,内嵌一个内层函数;2.内层函数使用外层函数的参数;3.外层函数将内层函数作为返回值返回'''#外层函数defouter(msg):#内层函数definner():#内层函数使用外......
  • k8s 怎么精准获取deployment关联的pods?
    标签获取我们获取那些pods属于某个deployment时最先想到的可能是通过标签获取,其实这个是不准确的。因为标签并不是唯一的,也就是说不同deployment其实是能有相同标签的。replicaSets获取deployment的产生pod流程如下:deployment->replicaSets->pod。deployment先产生replic......
  • Python编程入门:从零开始掌握基础
    Python编程入门:从零开始掌握基础Python是一门简单易学但功能强大的编程语言。它广泛应用于数据科学、机器学习、web开发、自动化任务等领域。本系列文章将带你从零开始学习Python,逐步掌握这门语言的基础知识。本文是系列的第一篇,涵盖Python的基本语法、变量和数据类型等内......
  • Python基础-容器数据
    一、容器类型介绍容器就是存放数据的python中的容器数据有多种形式,每种形式有自己的存储格式,数据存储特性不一样字符串str就是容器存放一个一个字母格式:单引号'数据',双引号"数据",三个引号"""数据"""列表list格式:[数据1,数据2,数据3.....]元祖tuple......