迭代和创建类型的字典

我需要遍历结果产生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

回到顶部