从元组创建字典

Creating dictionary from tuple

问题:我正在尝试从元组创建字典,但收到以下消息:

Valueerror: dictionary update sequence element #1 has length 3; 2 is required
ValueError: dictionary update sequence element #2 has length 1; 2 is required

我尝试使用 dict() 创建字典,但似乎只有当元组列表包含两个元素时才有效。

代码:

my_list = [('a', 1), ('b', 2,3), ('c',)]

dict(my_list)

我尝试生成的结果是:

dict(my_list)
{'a': 1, 'b': 2, 'c': None}

您可以使用以下代码。它检查每个元组是否存在第二个元素。如果不是,则使用 None

my_list = [('a', 1), ('b', 2,3), ('c',)]

result = {x[0]: x[1] if len(x)>1 else None for x in my_list}
print(result)

输出:

{'a': 1, 'b': 2, 'c': None}