gpt4 book ai didi

python - 在 Python 中组合两种不同的可迭代类型

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

假设我有两种类型的可迭代对象,一种是列表,另一种是生成器对象(或者如果更容易将两者都视为列表)

列表包含以下元素:list = [1,2,3,4,5,6,7,8,9] 另一方面,生成器生成元组列表每次迭代,产生的列表如下所示:ylist = [(3,"three"),(4,"four"),(5,"five")]

我希望能够得到一个如下所示的列表:finallist = [1,2,(3,"three"),(4,"four"),(5,"five"),6,7,8,9].

我如何实现这一目标?

最佳答案

将该生成器的返回项转换为字典,然后使用列表理解:

>>> lis = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> ylist = [(3, "three"),(4, "four"),(5, "five")]
>>> dic = dict(ylist)
>>> [x if x not in dic else (x, dic[x]) for x in lis]
[1, 2, (3, 'three'), (4, 'four'), (5, 'five'), 6, 7, 8, 9]

关于python - 在 Python 中组合两种不同的可迭代类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17517700/

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