我正在尝试确定某些软件包中最常用的活跃用户。我有一个列表,其中包含软件包和用户。我想将它们转换成字典,以包名作为键,用户名作为值。列表的模式是:
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] 删除。
我来说两句