【问题标题】:How to print multiple lines on one line如何在一行上打印多行
【发布时间】:2020-06-29 04:39:14
【问题描述】:

我知道了:

0.0  angry27.56%
0.0  disgust0.0%
0.0  fear18.75%
0.0  happy14.47%
0.0  sad5.34%
0.0  surprise14.96%
0.0  neutral18.92%

我想要这个:

0.0  angry27.56%, disgust0.0%, fear18.75%, happy14.47%, sad5.34%, surprise14.96%, neutral18.92%

我正在使用此代码:

emotion = ""
        for i in range(len(predictions[0])):
            emotion = "%s%s%s" % (emotions[i], round(predictions[0][i]*100, 2), '%')
            print(str(sec)+ "  " + emotion)

【问题讨论】:

标签: python-3.x string printing


【解决方案1】:
print(str(sec)+ "  " + emotion,end=', ')

print 语句中的end=' ' 参数可用于单行打印输出....

【讨论】:

  • 我试过了,但都是徒劳的!!!现在我变得 0.0 生气 27.56% 0.0 厌恶 0.0% 0.0 恐惧 18.75% 0.0 快乐 14.47% 0.0 悲伤 5.34% 0.0 惊讶 14.96% 0.0 中性 18.92% 0.04 愤怒 1.0% 0.04 厌恶 0.0% 0.04 1 悲伤 5.16% 7 快乐 0.04 1.04 恐惧 5.16% 7 快乐 0.04 1.19%0.04惊喜5.57%0.04中性85.12%0.08愤怒0.51%0.08沉重0.0%0.08恐惧5.36%0.08快乐0.3%0.08 SAD 1.27%0.08惊喜5.47%0.12愤怒0.82%0.12厌恶0.82%0.12厌恶0.82%0.12令人衰退0.82%0.12令人难以置信0.82%0.12令人难以置疑0.12 快乐 0.15% 0.12 悲伤 2.65% 0.12 惊喜 2.45% 0.12 中性 88.42%
  • 在单引号内使用end=', '逗号和空格并再次执行...
【解决方案2】:

首先创建一个空列表,然后在其中添加所有情感值,然后使用 join() 组合列表的元素:

emotion = ""
res = []
for i in range(len(predictions[0])):
    emotion = "%s%s%s" % (emotions[i], round(predictions[0][i] * 100, 2), '%')
    res.append(emotion)
print(str(sec), end=" ")
print(", ".join(res))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-16
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多