将列表合并为字典列表

时间:2020-11-12 08:07:32

标签: python list dictionary

我有清单:

np.prod(np.exp(shap_values[0]))
0.3939410249402226

我希望有一个字典列表,每个字典如下所示:

host = ['host1', 'host2', 'host3']
user = ['first_user',  'second_user', '-']
time = ['01/01', '02/02', '03/03']

你会怎么做?

2 个答案:

答案 0 :(得分:1)

坦率地说,这个问题还不够清楚,但我是根据我的理解实施的;

>>> host = ['host1', 'host2', 'host3']
>>> user = ['first_user', 'second_user', '-']
>>> time = ['01/01', '02/02', '03/03']
>>>
>>> d = []
>>> for i in range(len(host) - 1):
...     d.append({
...         host[i]: host[i + 1],
...         user[i]: user[i + 1],
...         time[i]: time[i + 1]
...     })
...
>>> print(d)
[{'host1': 'host2', 'first_user': 'second_user', '01/01': '02/02'}, {'host2': 'host3', 'second_user': '-', '02/02': '03/03'}]

答案 1 :(得分:1)

Cenk Bircanoglu答案的非常轻微的修改,其中所有字典键都是固定的,而不是让它们引用后续元素。我以为是问到的。

d = []
for count, el in enumerate(host):
    d.append({
        'host': el,
        'user': user[count] if len(user) >= count+1 else None,
        'time': time[count] if len(time) >= count+1 else None
    })
print(d)