You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两个列表以保持元素索引对应一致?

按索引合并两个列表的解决方案

你需要的是将两个列表按索引位置一一配对,Concat()方法只是简单地把第二个列表追加到第一个列表末尾,完全不符合你的需求。下面针对常见场景给出实现方案:

C# 实现

使用Enumerable.Zip()方法可以直接将两个列表中同索引的元素配对,返回新的序列:

// 示例列表
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
List<int> values = new List<int> { 25, 30, 35 };

// 合并为元组列表(简洁易用)
var mergedTuples = names.Zip(values, (name, value) => (Name: name, Value: value)).ToList();

// 若需要自定义类型,可直接映射
public class Item
{
    public string Name { get; set; }
    public int Value { get; set; }
}
var mergedItems = names.Zip(values, (n, v) => new Item { Name = n, Value = v }).ToList();

Python 实现

Python内置的zip()函数即可完成同索引配对:

names = ["Alice", "Bob", "Charlie"]
values = [25, 30, 35]

# 合并为元组列表
merged = list(zip(names, values))

# 若需要键值对,可转成字典(需确保names中元素唯一)
merged_dict = dict(zip(names, values))

注意事项

  • 如果两个列表长度不一致,Zip()(或Python的zip())只会处理到较短列表的长度,超出的元素会被忽略。如果需要处理不等长场景,需额外编写逻辑补全缺失的元素。

内容的提问来源于stack exchange,提问作者German Avakjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:50:28