合并2个不同的列表到字典
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并2个不同的列表到字典相关的知识,希望对你有一定的参考价值。
我试图将两个不同长度的列表合并到字典中。请帮忙
listA = ['2','4','6','8','10','12','14','16','18','20','22','24','26','28']
listB = ['host1','host2','host3','host4']
预期产量:
{
host1: [2,10,18,26],
host2: [4,12,20,28],
host3: [6,14,22],
host4 : [8,16,24]
}
答案
看起来你想要一本字典,其中listA
中的每四个元素都是listB
的成员。您可以使用python的列表切片和使用生成器函数来执行此操作:
s = len(listB)
output = {listB[i]: listA[i::s] for i in range(s)}
这应该是相当简单的。花式列表切片的东西是listA[i::s]
,它从s
th元素开始获取listA
的每个i
th元素。
另一答案
您可以使用以下dict构造函数,其中包含键的zip和切片子列表的列表:
print(dict(zip(listB, [listA[i::len(listB)] for i in range(len(listB))])))
这输出:
{'host1': ['2', '10', '18', '26'], 'host2': ['4', '12', '20', '28'], 'host3': ['6', '14', '22'], 'host4': ['8', '16', '24']}
以上是关于合并2个不同的列表到字典的主要内容,如果未能解决你的问题,请参考以下文章