繁体   English   中英

元组到字典,其中第一个元组是键,第二个元组是对应的元素?

[英]Tuples to dictionary , where first tuple are keys and second tuple is corresponding elements?

需要一个函数,它接受两个元组并返回一个字典,其中第一个元组的元素用作键,第二个元组的相应元素

例如,调用tuples_to_dict(('a','b', 'c', 'a'), (1,2,3,4))将返回{'a':1, 'b':2, 'c':3}

您可以将dictzip方法一起使用:

  • zip()将两个或多个迭代合并为两个元组。
  • dict()函数创建一个字典。
def tuples_to_dict(x,y):
    return dict(zip(x,y))

结果{'a': 4, 'b': 2, 'c': 3}

使用enumerate字典理解的其他方式:

def tuples_to_dict(x,y):
    return {x[i]:y[i] for i,_ in enumerate(x)}

如果您需要它不插入第二个“a”,则可以在插入值之前进行检查,如果已经存在则不要这样做:


def tuples_to_dict(first, second):
    out = {}
    for k, v in zip(first, second):
        if k not in out:
            out[k] = v
    return out

tuples_to_dict(('a','b', 'c', 'a'), (1,2,3,4))
{'a': 1, 'b': 2, 'c': 3}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM