如何使用位置来指示键和值,从列表中创建新字典?

josh_funkmaster

我正在尝试确定某些软件包中最常用的活跃用户。我有一个列表,其中包含软件包和用户。我想将它们转换成字典,以包名作为键,用户名作为值。列表的模式是:

list = ['package1', 'userA', 'userB', 'package2', 'userC', 
        'userD', 'package3', 'userE', 'userF', ...]

我想要:

dict = {'package1': ['userA', 'userB'], 
        'package2': ['userC', 'userD'],
        'package3': ['userE', 'userF'],
        ...}

我希望能够通过名称而不是位置来匹配软件包。我目前有类似的东西:

dict={}
for x in list:
    if "package" in x:
        dict.fromkeys(list, x)

谢谢你的帮助。

拉克什

这是使用简单迭代的一种方法。

例如:

lst = ['package1', 'userA', 'userB', 'package2', 'userC', 'userD', 'package3', 'userE', 'userF']
result = []
for i in lst:
    if i.startswith("package"):
        result.append([i])
    else:
        result[-1].append(i)

result = {i: v for i, *v in result}
print(result)

输出:

{'package1': ['userA', 'userB'],
 'package2': ['userC', 'userD'],
 'package3': ['userE', 'userF']}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用字典列表中的列表和字典理解来添加键和值?

如何使用列表中的键和默认值为(例如)零的值创建字典?

如何在字典中识别匹配值并仅使用这些键创建新字符串?

如何通过在Python中几个字典中组合与键对应的值来创建新字符串?

如何从键列表和值列表创建字典列表

如何从仅包含键和键-值对列表的列表中创建字典(Python)?

如何从键列表中创建字典列表和列表中的值

如何使用从 Ansible 中的 3 个不同列表构建的键/值来形成字典字典

如何更新字典列表中的值

匹配新字典中的字典键和值

如何使用现有字典的名称来创建新字典?

无论键的位置如何,都更新字典值

使用主字典中的键创建新字典[BEGINNER]

使用距离旧字典最长的键和值制作新字典,如何同时增加变量?

如何遍历字典和列表以创建新字典

如何使用字典值打印与 Python 列表中的键关联的键和多个值?

如何使用两个相同的键和不同的值从 Python 中的三个不同列表创建字典?

如何通过使用列表的索引作为键和列表的项作为值来将列表添加到字典中?

在字典列表中查找和更新字典的值

Python:使用[0] =键和[1:] =值从列表创建字典

Python Pandas:如何在包含键列表的列上使用字典来创建值列表的另一列

如何在 Python 中更新字典列表中的键

使用理解创建字典列表时如何省略键和值

使用值和预定义键更新字典

如何从python中的键,值创建字典列表

Python:从字典列表中创建新字典

使用每个键的多个值更新字典中的值

如何通过键和值过滤字典中的列表?

如何打印Python列表中包含的字典的键和值