gpt4 book ai didi

python - 列表中的第 n 项到字典 python

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:41 28 4
gpt4 key购买 nike

我正在尝试从列表的每个第 n 个元素创建一个字典,并将列表的原始索引作为键。例如:

l = [1,2,3,4,5,6,7,8,9]

正在运行

dict(enumerate(l)).items() 

给我:

dict_items([(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9)])

这就是我想要的。但是,当我现在想从 l 中选择每个第二个值来执行此操作时,问题就开始了,所以我尝试

dict(enumerate(l[::2])).items() 

这给了我

dict_items([(0, 1), (1, 3), (2, 5), (3, 7), (4, 9)])

但我不想这样,我想在制作字典时保留原始索引。执行此操作的最佳方法是什么?

我想要以下输出

dict_items([(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)])

最佳答案

使用itertools.islice()enumerate() 对象上:

from itertools import islice

dict(islice(enumerate(l), None, None, 2)).items()

islice() 为您提供任何迭代器 的切片;上面的每两个元素:

>>> from itertools import islice
>>> l = [1,2,3,4,5,6,7,8,9]
>>> dict(islice(enumerate(l), None, None, 2)).items()
dict_items([(0, 1), (8, 9), (2, 3), (4, 5), (6, 7)])

(请注意,输出符合预期,但顺序一如既往地为 determined by the hash table)。

关于python - 列表中的第 n 项到字典 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39111016/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com