And*_*arl 2 python dictionary list
我正在尝试转换列表列表:
x = [[1, 2], [1, 3], [1, 3, 4], [1, 2, 5]]
Run Code Online (Sandbox Code Playgroud)
到列表字典,其中每个列表的索引是字典的关键字(从1开始):
new_dictionary = {1: [1, 2], 2: [1, 3], 3: [1, 3, 4], 4: [1, 2, 5]}
Run Code Online (Sandbox Code Playgroud)
我将处理大量列表,是否有一种有效的方法?
是的,dict构造函数采用一个可重复的元组,其中第一项是键,第二项是值。
这正是enumerate返回的内容:
new_dictionary = dict(enumerate(x))
Run Code Online (Sandbox Code Playgroud)
然后new_dictionary将包含:
{0: [1, 2], 1: [1, 3], 2: [1, 3, 4], 3: [1, 2, 5]}
Run Code Online (Sandbox Code Playgroud)
请注意,第一个键0不是1。如果要从一个或其他开始,请将该start=1参数与结合使用enumerate:
>>> dict(enumerate(x, start=1))
{1: [1, 2], 2: [1, 3], 3: [1, 3, 4], 4: [1, 2, 5]}
Run Code Online (Sandbox Code Playgroud)
但是,我对您的用例感到好奇,因为列表和字典可以以非常相似的方式使用:
>>> x[0]
[1, 2]
>>> new_dictionary[0]
[1, 2]
Run Code Online (Sandbox Code Playgroud)
您确定为此确实需要字典吗?