Python字典一个元素作为键,一个列表作为值


嘿,我

有 3 个列表,一个我用作键,其余的都是值

keys = ['key1', 'key2', 'key3', 'key4']
list1 = ['network', 'pingworker', 'vpc', 'solution', 'ops', '1', '2', '3']
list2 = ['vlan', 'nms', 'jds', 'zabbix', '4', '5', '6', 'pqr', '8', '2', '2', '3sd']
abc = {}
abc = dict(zip(keys[0], list1))
print(abc)

我得到的输出是:

{'k': 'network', 'y': 'vpc', 'e': 'pingworker', '1': 'solution'}

我需要的是:

{'key1': 'network', 'pingworker', 'vpc', 'solution', 'ops', '1', '2', '3'}

同样:

{'key2': 'vlan', 'nms', 'jds', 'zabbix', '4', '5', '6', 'pqr', '8', '2', '2', '3sd'}

试试这个:

abc = dict(zip(keys, [list1,list2]))
print(abc)

输出:

{'key2': ['vlan', 'nms', 'jds', 'zabbix', '4', '5', '6', 'pqr', '8', '2', '2', '3sd'], 'key1': ['network', 'pingworker', 'vpc', 'solution', 'ops', '1', '2', '3']}

我想你想要{'key1':[],'key2':[]}

你甚至可以简单地做:

keys = ['key1', 'key2', 'key3', 'key4']
list1 = ['network', 'pingworker', 'vpc', 'solution', 'ops', '1', '2', '3']
list2 = ['vlan', 'nms', 'jds', 'zabbix', '4', '5', '6', 'pqr', '8', '2', '2', '3sd']
abc = {}
abc[keys[0]] = list1
abc[keys[1]] = list2
print(abc)

一个键怎么能有多个值? {'key1': 'network', 'pingworker', 'vpc', 'solution', 'ops', '1', '2', '3'}不是有效的 python 字典。如果你想要这样的东西:{'key1': ['network', 'pingworker', 'vpc', 'solution', 'ops', '1', '2', '3']}

你可以简单地写:

abc = {keys[0]: list1, keys[1]: list2}

abc = {}
abc[keys[0]] = list1
abc[keys[1]] = list2

也许你可以做这样的事情。使用
dictionary.setdefault(something[i], []).append(value)

其中 something[i] 是 key1 值,值是数组中的值列表。

对列表 1 中的键和 .
range(len(list1))中的值执行嵌套 for 循环然后,当您没有到达列表的末尾时,附加所有值。

相关内容

  • 没有找到相关文章

最新更新