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

如何将控制台输入转为多值列表?含文件读取与ID匹配需求

Python多名称匹配帖子ID解决方案

一、处理控制台多值输入

用split()把用户输入的空格分隔字符串拆成名称列表,再遍历每个名称精确匹配对应的帖子ID:

titles = ["james", "lisa", "kim"]
post_ids = [5, 6, 9]

# 读取控制台输入并拆分成名称列表
input_names = input("输入匹配名称(空格分隔):").strip().split()
matched_ids = []

for name in input_names:
    if name in titles:
        # 找到名称对应的索引,取对应ID
        idx = titles.index(name)
        matched_ids.append(post_ids[idx])

print("匹配到的ID:", matched_ids)

运行后输入james kim,会输出匹配到的ID: [5, 9],完全符合需求。

二、从file.txt按行读取名称匹配

如果名称存在file.txt(每行一个名称),用文件读取方法批量处理:

titles = ["james", "lisa", "kim"]
post_ids = [5, 6, 9]

# 读取文件里的名称,自动过滤空行
with open("file.txt", "r", encoding="utf-8") as f:
    file_names = [line.strip() for line in f if line.strip()]

matched_ids = []
for name in file_names:
    if name in titles:
        idx = titles.index(name)
        matched_ids.append(post_ids[idx])

print("文件匹配到的ID:", matched_ids)

假设file.txt内容是:

james
kim

运行后会输出文件匹配到的ID: [5, 9]。

三、处理重名场景(可选)

如果titles里有重复名称,用enumerate()遍历所有元素,收集所有匹配的ID:

matched_ids = []
for name in input_names:
    # 遍历所有索引和名称,收集所有匹配的ID
    for idx, title in enumerate(titles):
        if title == name:
            matched_ids.append(post_ids[idx])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:55:18