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

如何从字典的值列表中提取指定值并存储到独立列表?

问题解决方法

错误原因分析

你之前的代码返回空列表,是因为list(dicts.values())得到的是包含两个子列表的列表,每个循环变量x是整个子列表,而不是子列表里的单个文件名。"volume_" in x是检查这个字符串是否是列表的元素(显然不是),而非判断元素中包含该字符串,所以条件不成立,返回空列表。

解决代码

方法一:生成独立的列表变量(符合你的预期输出)

dicts = {
    "A": ['shape_one.csv','shape_two.csv','volume_one.csv','volume_two.csv'],
    "B": ['shape_one.csv','shape_two.csv','volume_one.csv','volume_two.csv']
}

# 遍历字典的每个键和对应的文件列表
for key, file_list in dicts.items():
    # 筛选出包含"volume_"的文件路径
    filtered = [path for path in file_list if "volume_" in path]
    # 动态创建对应的变量,比如volume_list_A、volume_list_B
    globals()[f"volume_list_{key}"] = filtered

# 查看结果
print(volume_list_A)  # 输出: ['volume_one.csv','volume_two.csv']
print(volume_list_B)  # 输出: ['volume_one.csv','volume_two.csv']

方法二:用字典存储结果(更规范,适合键较多的场景)

如果不需要单独的变量,用字典统一管理筛选结果会更易维护:

dicts = {
    "A": ['shape_one.csv','shape_two.csv','volume_one.csv','volume_two.csv'],
    "B": ['shape_one.csv','shape_two.csv','volume_one.csv','volume_two.csv']
}

# 字典推导式生成筛选结果
volume_results = {
    f"volume_list_{key}": [path for path in file_list if "volume_" in path]
    for key, file_list in dicts.items()
}

# 访问结果
print(volume_results["volume_list_A"])
print(volume_results["volume_list_B"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:45:01