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

如何在迭代中输出文本对应标签并展示情感统计结果?

解决方案:将标签与文本配对输出情感统计结果

没问题,这事儿很容易解决——你只需要把labels和topics两个列表一一配对后遍历,就能实现每条文本前先输出对应标签的需求。Python的zip()函数正好能帮你完成这个配对工作,下面是具体的实现示例:

完整代码示例

首先假设你已经有了用于情感统计的函数(这里我写个模拟版本方便演示):

def count_sentiment(text):
    # 模拟情感统计逻辑,实际替换成你自己的函数
    if "great" in text:
        return {"pos": 1, "neg": 0, "neu": 0}
    elif "not well" in text:
        return {"pos": 0, "neg": 1, "neu": 0}
    else:
        return {"pos": 0, "neg": 0, "neu": 1}

# 你的原始文本和标签
a = "How are you?"
b = "I am doing great."
c = "I am not doing well."
topics = [a,b,c]
labels = ['a','b','c']

# 核心:配对标签与文本并遍历
for label, text in zip(labels, topics):
    # 先输出标签
    print(f"--- Label: {label} ---")
    # 调用情感统计函数
    sentiment_counts = count_sentiment(text)
    # 按你需要的格式输出结果
    print(f"# of sentences: 1 Pos Tally: {sentiment_counts['pos']} Neg Tally: {sentiment_counts['neg']} Neu Tally: {sentiment_counts['neu']}")

代码解释

  • zip(labels, topics):把labels和topics里的元素按顺序一一配对,生成类似('a', 'How are you?')、('b', 'I am doing great.')这样的元组。
  • 循环遍历每一对:每次迭代拿到当前的label和对应的text,先打印标签,再调用你的情感统计函数处理文本,最后输出统计结果。
  • 如果你原来的统计函数是处理单句的(像示例里这样),直接用就行;如果你的函数是处理多句的,只需要调整循环里的调用逻辑,确保每句对应到标签即可。

这样运行后,输出就会是:

--- Label: a ---
# of sentences: 1 Pos Tally: 0 Neg Tally: 0 Neu Tally: 1
--- Label: b ---
# of sentences: 1 Pos Tally: 1 Neg Tally: 0 Neu Tally: 0
--- Label: c ---
# of sentences: 1 Pos Tally: 0 Neg Tally: 1 Neu Tally: 0

完全符合你想要的“先输出标签,再显示对应文本情感统计”的需求啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:22:12