Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表合并到词典列表中_Python_List_Dictionary - Fatal编程技术网

Python 将列表合并到词典列表中

Python 将列表合并到词典列表中,python,list,dictionary,Python,List,Dictionary,我有一些清单: host = ['host1', 'host2', 'host3'] user = ['first_user', 'second_user', '-'] time = ['01/01', '02/02', '03/03'] 我想要一个字典列表,每个字典如下所示: {'host': 'host1', 'user': 'firsts_user', 'time': '01/01'} 你将如何做到这一点?坦率地说,这个问题还不够清楚,但我是根据我的理解来实现的 >>

我有一些清单:

host = ['host1', 'host2', 'host3']
user = ['first_user',  'second_user', '-']
time = ['01/01', '02/02', '03/03']
我想要一个字典列表,每个字典如下所示:

{'host': 'host1',
 'user': 'firsts_user',
 'time': '01/01'}

你将如何做到这一点?

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

>>> 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'}]

对答案进行非常轻微的修改,其中所有字典键都是固定的,而不是让它们引用后续元素。我想这是被问到的

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)

你是如何做到这一点的,它到底有什么问题?这是考虑到所有3个列表都是相同的长度@Rammb如果某些列表比预期的短,您可能需要进行一些检查以避免程序崩溃是的,您肯定是对的。但我真的不确定我是否清楚地理解了这个案例。如果这是@Rammb询问的,我将修复代码