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
。最好将创建的列表保存到一个变量中,这样就不会在内存中创建两次,以防它是一个大列表。