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

如何在C#中通过查询判断字典列值是否包含列表元素并分组输出结果

解决方案

我来给你写个直接能用的Python实现,完美匹配你的需求:

代码示例

# 定义你的目标列表和待匹配的字符串集合
list1 = [110, 120, 130]
target_values = ["110_abc_ro", "120_cfg_go", "130_dfg_lo", "110_abc_io", "170_cfg_jo"]

# 初始化字典存储分组结果
grouped_results = {}

# 遍历列表中的每个数字,筛选匹配项
for num in list1:
    num_str = str(num)
    # 筛选所有以当前数字为前缀的字符串
    matched_items = [val for val in target_values if val.startswith(num_str)]
    grouped_results[num] = matched_items

# 按要求格式输出结果
for num, matches in grouped_results.items():
    print(f"{num}对应的匹配结果为:`{', '.join(matches)}`")

运行结果

110对应的匹配结果为:`110_abc_ro, 110_abc_io`
120对应的匹配结果为:`120_cfg_go`
130对应的匹配结果为:`130_dfg_lo`

逻辑说明

  • 首先把列表中的数字转成字符串,方便和目标字符串做前缀匹配;
  • 用列表推导式快速筛选出所有以当前数字开头的字符串;
  • 最后遍历结果字典,按照你要的格式输出每组匹配项。

如果你的匹配需求不是“前缀匹配”,而是字符串任意位置包含列表中的数字,只需要把val.startswith(num_str)改成num_str in val就行,灵活得很~

内容的提问来源于stack exchange,提问作者jaymin gaudana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:48:59