迭代和创建类型的字典
我需要遍历结果产生DICS的这种结构清单列表:迭代和创建类型的字典
items = [{'clients': [ {'value': i[4], 'first_name': i[1], 'last_name': i[3]},
{'value': i[4], 'first_name': i[1], 'last_name': i[3]}
]
}]
for i in results: items = ?
编辑
[0] => tuple(5) [0] => int(396043)
[1] => str(45) "First name"
[2] => int(532)
[3] => str(45) "Second name"
[4] => float(1.0)
[1] => tuple(5)
[0] => int(374286)
[1] => str(24) "First name"
[2] => int(537)
[3] => str(24) "Second name"
[4] => float(1.0)
我如何能做到这一点?
回答:
您可以使用列表解析生成results
根据每个元组的字典:
items = [{ 'clients': [{'value': i[4], 'first_name': i[1], 'last_name': i[3]} for i in results]
}]
你也可以使用元组分配的循环,产生更有意义的名称
items = [{ 'clients': [{'value': value, 'first_name': first, 'last_name': last}
for _, first, _, last, value in results]
}]
你也可以在显式循环中做到这一点,但列表理解会更快。显式循环版本:
clients = [] items = [{'clients': clients}]
for _, first, _, last, value in results:
clients.append({'value': value, 'first_name': first, 'last_name': last})
这里_
是,我们忽略了一个循环变量使用约定的名称。它只是表示我们不会再使用_
,但需要一个分配目标。
以上是 迭代和创建类型的字典 的全部内容, 来源链接: utcz.com/qa/257400.html