gpt4 book ai didi

python - 如何合并一个列表,但保持以前的列表顺序?

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

我有这个列表,一旦使用下面的合并就给我这个输出。

['description t2_HELP', 'description t2_1507', 'description t2_1189', 'description t2_5625', 'description None', 'description None', 'description None', 'description None', 'interface Gi3/0/13', 'interface Gi3/0/7', 'interface Gi1/0/11', 'interface Gi3/0/41']

但是,当我合并数据时,我想保持该数据的顺序。因此示例列表集看起来像这样。

['interface Gi3/0/25','description None','description t2_2696','interface Gi1/0/29','description None','description t2_4148','interface Gi1/0/31','description None','description t2_4212','interface Gi2/0/31','description None','description t2_4271']

这是我合并列表的方式,

joinlist = data1 + data2 + data3

列表看起来像这样

data1 = ['interface Gi3/0/25','interface Gi1/0/29','interface Gi1/0/31','interface Gi2/0/31']
data2 = ['description None','description None','description None','description None']
data3 = ['description t2_2696','description t2_4148','description t2_4212','description t2_4271']

最佳答案

如果您有相同长度的 list (zip) 或者不介意结果中的填充值 (zip_longest),其他建议也可以>).

但从逻辑上讲,您在这里要求的是循环输入,而不是压缩。通过展平,您失去了 zip 的成对方面,并且可能会因为不均匀的长度输入而被它咬住。

此问题的更通用解决方案可用 the itertools module's roundrobin recipe (点击代码链接,我只是在这里包括用法):

joinlist = list(roundrobin(data1, data2, data3))

按顺序从每个输入中获取一个元素;如果一个输入比其他输入短,则在后面的轮次中忽略它,而不会注入(inject)垃圾填充值或丢失较长输入的值。

关于python - 如何合并一个列表,但保持以前的列表顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56553332/

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