This question already has answers here:
Iterating over every two elements in a list
(19个回答)
2年前关闭。
我有一个看起来像这样的列表:
并希望以字典结尾:
目前,我正在这样实现:
有没有更多的pythonic方法可以实现相同的目的?我查找了itertools参考,但没有发现特别有助于上述操作的任何内容。
注意:我对实现目标感到满意,但对在这种情况下是否有更常用的东西感到好奇。
(19个回答)
2年前关闭。
我有一个看起来像这样的列表:
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]
有没有更多的pythonic方法可以实现相同的目的?我查找了itertools参考,但没有发现特别有助于上述操作的任何内容。
注意:我对实现目标感到满意,但对在这种情况下是否有更常用的东西感到好奇。
最佳答案
尝试这个
# keys
k = mylist[1::2]
# values
v = mylist[::2]
# dictionary
mydict = dict(zip(k, v))
关于python - Python-将列表成对转换为字典成对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52687737/
10-12 22:12