为了账号安全,请及时绑定邮箱和手机立即绑定

使用第二个元素从元组列表创建字典

使用第二个元素从元组列表创建字典

桃花长相依 2023-02-07 14:19:09
我有一个这样的元组列表列表:new = [[('name', 'n1')], [('value', 'v1')], [('name', 'n2')], [('value', 'v2')], [('name', 'n3')], [('value', 'v3')]]我想将第一个元组映射到第'name'一个'value'元组,将第二个元组映射到第二个元组,等等。我一直在做的是:res = dict(zip(new[0],new[1]))这给了我{('name', 'n1'):('value', 'v1'), ('name', 'n2'):('value', 'v2'), ('name', 'n3'):('value':'v3')}。这很接近,但我真的只想要这个{'n1':'v1', 'n2':'v2', 'n3':'v3'}:我只想要元组中的第二个元素。我怎样才能做到这一点?
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

尝试这个,

print(dict((x[0][1], y[0][1]) for x, y in zip(new[::2], new[1::2])))

{'n1': 'v1', 'n2': 'v2', 'n3': 'v3'}


查看完整回答
反对 回复 2023-02-07
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

干得好:

res= {new[2*i][0][1]:new[2*i+1][0][1] for i in range(len(new)//2)}

>>> res
{'n1': 'v1', 'n2': 'v2', 'n3': 'v3'}


查看完整回答
反对 回复 2023-02-07
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

尝试这个:


new = [[('name', 'n1')], [('value', 'v1')], [('name', 'n2')], [('value', 'v2')], [('name', 'n3')], [('value', 'v3')]]

output = {}

while new:

    key = new.pop(0)

    value = new.pop(0)

    output[key[0][1]] = value[0][1]


print(output) 

# output: {'n1': 'v1', 'n2': 'v2', 'n3': 'v3'}


查看完整回答
反对 回复 2023-02-07
  • 3 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信