如何以字典形式转换单个列表的元素

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)

hir*_*ist 5

您可以使用:

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)


yat*_*atu 3

您可以使用以下字典理解:

{x:y for x,y in zip(sample_list[::2], sample_list[1::2])}
# {'A': 'B', 'C': 'D'}
Run Code Online (Sandbox Code Playgroud)