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

如何修改Python字典中以M1为源的距离矩阵对应值?

将指定源的距离值设为极大值的Python实现

要把字典中所有以'M1 '(注意末尾空格)作为源的距离值设为极大值,让优化模型自动避开该源,可采用以下两种高效实现方式:

方式一:直接修改原字典

适合不需要保留原始数据的场景,直接遍历字典键进行修改:

# 定义原始距离字典
distance_dict = {
    ('M1 ', 'V1'): 5, ('M1 ', 'V2'): 5, ('M1 ', 'V3'): 5, ('M1 ', 'V4'): 5,
    ('M2', 'V1'): 5, ('M2', 'V2'): 5, ('M2', 'V3'): 5, ('M2', 'V4'): 5,
    ('M3', 'V1'): 5, ('M3', 'V2'): 5, ('M3', 'V3'): 5, ('M3', 'V4'): 5
}

# 遍历并修改所有源为'M1 '的条目
for key in distance_dict:
    if key[0] == 'M1 ':
        distance_dict[key] = float('inf')

方式二:生成新字典(保留原数据)

如果需要保留原始距离矩阵,用字典推导式创建修改后的新字典:

# 基于原字典生成修改后的新字典
modified_distance_dict = {
    key: float('inf') if key[0] == 'M1 ' else value
    for key, value in distance_dict.items()
}

说明

  • 使用float('inf')表示正无穷大,在绝大多数优化模型中,该值会被识别为极高成本,模型会自动排除选择M1 作为源的路径。
  • 注意源字符串是'M1 '(带有末尾空格),若后续源标识格式变化,需同步调整判断条件中的字符串匹配规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:35:22