Gan*_*rad 6 python dictionary list
我想将以下列表作为字典
sample_list=['A', 'B', 'C', 'D']
Run Code Online (Sandbox Code Playgroud)
预期的字典如下所示
out_dict = {'A':'B','C':'D'}
Run Code Online (Sandbox Code Playgroud)
您可以使用:
dict(zip(sample_list[::2], sample_list[1::2]))
Run Code Online (Sandbox Code Playgroud)
在其中zip创建新字典的键,值对。
使用迭代器的一种变体(因此避免制作列表的副本)是使用来在巴黎列表上进行迭代(如Matthias指出的ehrm ... 对)zip(it, it),然后从中创建字典:
it = iter(sample_list)
dct = dict(zip(it, it))
Run Code Online (Sandbox Code Playgroud)
在python> = 3.8中,您将能够使用赋值表达式并使用此精美的一线代码执行所需的操作
dct = dict(zip(it := iter(sample_list), it))
Run Code Online (Sandbox Code Playgroud)
您可以使用以下字典理解:
{x:y for x,y in zip(sample_list[::2], sample_list[1::2])}
# {'A': 'B', 'C': 'D'}
Run Code Online (Sandbox Code Playgroud)