我现在就有这段代码,但问题是它会遍历整个列表,并作为一个列表打印。
这是我正在阅读的数据。[('Bob', '1\n2\n3'), ('Joe', '4\n5\n6')]
formatted_conversations = []
for conv in conversations:
speaker, message = conv
if len(formatted_conversations) == 0 or formatted_conversations[-1].split(" : ")[0] != speaker:
formatted_conversations.append(speaker + " : " + message)
else:
formatted_conversations[-1] += "\n" + message
conversations=[]
for c in formatted_conversations:
conversations.append(c.split(" : "))
现在它会自动将Bob 1,2,3
打印为一个。
但我需要这样打印
Bob: 1
Bob: 1
2
Bob: 1
2
3
Joe:4
Joe:4
5
Joe: 4
5
6
因此,本质上它打印为3 vs 1,并且每次都添加以前的列表,并且当它看到带有以下字符的新用户时切换:
3条答案
按热度按时间pxyaymoc1#
要包括旧的,请追加最后一行
新代码:
输出:
db2dz4w82#
将消息连接到字符串之后,将
formatted_conversations[-1]
追加到结果列表,这样您就可以获得所有增量会话。输出为:
vsdwdz233#
我不知道你的数据格式,我会这样做:
这将输出: