s = '钟山风雨起苍黄,百万雄师过大江。\
虎踞龙盘今胜昔,天翻地覆慨而慷。\
宜将剩勇追穷寇,不可沽名学霸王。\
天若有情天亦老,人间正道是沧桑。'
ls = []
#整理,反转
t = [i.strip().split(',') for i in s.split('。')]
for i in t[:-1][::-1]:
for j in i[::-1]:
ls.append(j)
#打印
for i in range(0,len(ls),2):
print(ls[i]+','+ls[i+1]+'。')
输出:
人间正道是沧桑,天若有情天亦老。
不可沽名学霸王,宜将剩勇追穷寇。
天翻地覆慨而慷,虎踞龙盘今胜昔。
百万雄师过大江,钟山风雨起苍黄。
s = "钟山风雨起苍黄,百万雄师过大江。\n虎踞龙盘今胜昔,天翻地覆慨而慷。\n宜将剩勇追穷寇,不可沽名学霸王。\n天若有情天亦老,人间正道是沧桑。\n"
a = s.split('\n')
list = reversed([x.strip() for x in a if x.strip()!=''])
for i in list:
print(i.split(',')[1] + ',' + i.split(',')[0].split('。')[0] + '。')
用正则表达式来做更准确一些,你给的例子原文没有换行,所以翻转后只是保留了标点符号的位置,也没有换行。
s = "钟山风雨起苍黄,百万雄师过大江。\
虎踞龙盘今胜昔,天翻地覆慨而慷。\
宜将剩勇追穷寇,不可沽名学霸王。\
天若有情天亦老,人间正道是沧桑。"
import re
a = re.findall(r'\w+',s)
b=[]
for i in range(len(a)):
c = s.split(a[i])
b += c.pop(0)
b.append(a[len(a)-i-1])
s = c[0]
b.append(s)
print(''.join(b))
结果
人间正道是沧桑,天若有情天亦老。 不可沽名学霸王,宜将剩勇追穷寇。 天翻地覆慨而慷,虎踞龙盘今胜昔。 百万雄师过大江,钟山风雨起苍黄。