python 有没有什么函数可以直接把字符串列表转换成字典?

disho6za  于 2023-04-19  发布在  Python
关注(0)|答案(3)|浏览(123)

有没有一个函数可以迭代字符串列表或字符串和整数,并像这样填充字典:

{list[0] : list[1]
list[2] : list[3]
list[4] : list [5]}

我见过40种不同的方法,它们比只有一个函数来做要复杂得多。我认为想把一个字符串列表转换成一个字典并不是一件深奥的事情。
这个函数存在吗?如果存在,函数叫什么?

nuypyhwy

nuypyhwy1#

对于一个给定的列表L,这里有一个快速的单行方法来以这种方式生成字典:

result = dict(zip(L[::2],L[1::2]))
mrwjdhj3

mrwjdhj32#

对于Python 3.12+:

from itertools import batched
it = range(6)
print(dict(batched(it, n=2)))
{0: 1, 2: 3, 4: 5}

早期Python版本的batched的其他实现可以在这里找到:How do I split a list into equally-sized chunks?

zqry0prt

zqry0prt3#

我发现的最不愚蠢的方法是使用for循环将列表分成2个列表,其中:newlist1 = [list[0],list[2],list [3]],etc. newlist2 = [list[1],list[3],list [4]],然后你可以用zip把它们压缩成一个元组列表(),然后用dict将元组列表转换为dict如果列表由字符串和整数的混合组成,并且它是一个字符串,那么尝试在一个for循环中完成所有这些操作总是会给我带来问题。正确设置for循环语句更令人困惑。由于我正在寻找家庭作业问题的帮助,这个解决方案还教你一些其他的函数来 Boot 。

相关问题