Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-将列表转换为dict成对_Python_Optimization - Fatal编程技术网

Python-将列表转换为dict成对

Python-将列表转换为dict成对,python,optimization,Python,Optimization,我有一个如下列表: mylist = [1, 'a', 2, 'b', 3, 'c'] 并希望最终得到一本字典: mydict = { 'a': 1, 'b': 2, 'c': 3,} 目前,我正在实现这一目标: mydict = {} for i, k in enumerate(mylist): if i == len(mylist)/2: break v = 2 * i mydict[mylist[v+1]] = mylis

我有一个如下列表:

mylist = [1, 'a', 2, 'b', 3, 'c']
并希望最终得到一本字典:

mydict = {
    'a': 1,
    'b': 2,
    'c': 3,}
目前,我正在实现这一目标:

mydict = {}
for i, k in enumerate(mylist):
    if i == len(mylist)/2:
        break
    v = 2 * i
    mydict[mylist[v+1]] = mylist[v]
有没有更像蟒蛇的方法来达到同样的效果?我查阅了itertools参考资料,但没有找到任何特别有助于上述内容的内容

注意:我对自己在实现目标方面所拥有的一切感到满意,但我很好奇在这种情况下是否有更常用的方法。

试试这个

# keys
k = mylist[1::2]
# values
v = mylist[::2]
# dictionary
mydict = dict(zip(k, v))

键和值是反向的,因此您应该先反向
mylist
。最好将创建的列表保存到一个变量中,这样就不会在内存中创建两次,以防它是一个大列表。