欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

用python来实现 原来的列表组成字典,再形成新的列表 merlin AG chatgpt 有大用 有大大用

把 ['1234', '2345', '5678' ] 和

['7890', '8900', '9800']

和 ['aa@qq.com', 'bb@qq.com', 'cc@qq.com']

作为

{‘person_gh’:’1234’,‘manager_gh’:’7890’,'email': 'aa@qq.com'}

{‘person_gh’:’2345’,‘manager_gh’:’8900’,'email': 'bb@qq.com' }

{‘person_gh’:’5678’,‘manager_gh’:’9800’,'email': 'cc@qq.com' }

添加到 新的列表当中 ,用python来实现


你可以使用 Python 的列表推导式和 zip() 函数,将三个列表中的数据组合成字典,并将这些字典添加到一个新的列表中。下面是具体实现的代码:

python
# 原始数据
person_list = ['1234', '2345', '5678']
manager_list = ['7890', '8900', '9800']
email_list = ['aa@qq.com', 'bb@qq.com', 'cc@qq.com']

# 创建新列表
combined_list = [
    {'person_gh': person, 'manager_gh': manager, 'email': email}
    for person, manager, email in zip(person_list, manager_list, email_list)
]

# 输出结果
print(combined_list)

代码解释

  1. 原始数据

  • 三个列表:person_list 包含人员ID,manager_list 包含管理者ID,email_list 包含电子邮件。

  • 使用 zip() 函数

    • ('1234', '7890', 'aa@qq.com')

    • ('2345', '8900', 'bb@qq.com')

    • ('5678', '9800', 'cc@qq.com')

    • zip(person_list, manager_list, email_list) 将三组数据逐一配对成元组,例如:

  • 列表推导式

    • text
      {'person_gh': person, 'manager_gh': manager, 'email': email}

      使用列表推导式创建字典。每个字典的结构包括 "person_gh"、"manager_gh" 和 "email" 字段。

    • 所有生成的字典会被收集到 combined_list 中。

  • 输出结果

    • 最后,使用 print(combined_list) 输出合成后的新列表。

    输出结果

    执行上述代码后,您将看到如下输出:

    python
    [
        {'person_gh': '1234', 'manager_gh': '7890', 'email': 'aa@qq.com'},
        {'person_gh': '2345', 'manager_gh': '8900', 'email': 'bb@qq.com'},
        {'person_gh': '5678', 'manager_gh': '9800', 'email': 'cc@qq.com'}
    ]
    

    通过上述代码,您成功将三个列表中的数据组合成字典,并添加到新的列表中



    person_list = ['1234', '2345', '5678'] manager_list = ['7890', '8900', ] email_list = ['aa@qq.com'  ] 当第二个数据 manager_list  只有两位,,当第三个数据 email_list  只有一位时, 用 ''来代替,确保它们都是  3个数据

    你可以通过以下方式修改代码,以确保 manager_listemail_list 的长度与 person_list 一致,不足的部分用空字符串 '' 填充:

    修改后的代码

    python
    复制
    person_list = ['1234', '2345', '5678'] manager_list = ['7890', '8900']  # 只有两个元素 email_list = ['aa@qq.com']        # 只有一个元素 # 填充不足的元素 max_length = len(person_list) # 使用空字符串填充不足的列表 manager_list += [''] * (max_length - len(manager_list)) email_list += [''] * (max_length - len(email_list)) # 创建新列表 combined_list = [    {'person_gh': person, 'manager_gh': manager, 'email': email}    for person, manager, email in zip(person_list, manager_list, email_list) ] # 输出结果 print(combined_list)

    输出结果

    运行上述代码后,combined_list 的内容将是:

    python
    复制
    [    {'person_gh': '1234', 'manager_gh': '7890', 'email': 'aa@qq.com'},    {'person_gh': '2345', 'manager_gh': '8900', 'email': ''},    {'person_gh': '5678', 'manager_gh': '', 'email': ''} ]

    解释

    • 使用 max_length 计算 person_list 的长度。

    • 通过 += 操作符向 manager_list 和 email_list 添加空字符串,确保它们的长度与 person_list 一致。

    • 最后,使用 zip 函数创建包含字典的列表。



    普通分类: