将偶数行反转并将段落放在列表中



我想知道如何通过交替倒行来操作文本。我特别想把偶数的线颠倒过来,而把奇数的线保持不变。我想到了各种各样的解决方案(例如,我曾试图在一段时间内计算行数,但我发现了一些问题):我应该计算偶数行,以便能够反转它们,但空行会破坏这种计数。我想做的另一件事是把每个段落都列在一个列表中,我给你一个例子:

如果我有这样的文本:

ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
:νεσρεπἔ νορθείλοτπ νὸρεἱ ςηίορτ ὶεπἐ ,ηθχγάλπ
πολλῶν δ' ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω,
,νόμυθ ὰτακ νὃ αεγλἄ νεθάπ ῳτνόπ νἐ 'γ ὅ 'δ ὰλλοπ
ἀρνύμενος ἥν τε ψυχὴν καὶ νόστον ἑταίρων.

:ρεπ ςόνεμέἱ ,οτασύρρἐ ςυοράτἑ ςὣ 'δὐο 'λλἀ
αὐτῶν γὰρ σφετέρῃσιν ἀτασθαλίῃσιν ὄλοντο,
οιοίλεἠ ςονοίρεπὑ ςῦοβ ὰτακ ἳο ,ιοιπήν
ἤσθιον: αὐτὰρ ὁ τοῖσιν ἀφείλετο νόστιμον ἦμαρ.
,εγ νεθόμἁ νῶτ
θεά θύγατερ,
.νῖμἡ ὶακ ὲπἰε ,ςόιδ
ἔνθ' ἄλλοι μὲν πάντες, ὅσοι φύγον αἰπὺν ὄλεθρον,
νασσαλάθ ὲδἠ ςετόγυεφεπ ετ νόμελόπ ,νασἔ ιοκἴο
τὸν δ' οἶον νόστου κεχρημένον ἠδὲ γυναικὸς,
νωάεθ αῖδ ὼψυλακ εκυρἔ 'ιντόπ ηφμύν
ἐν σπέσσι γλαφυροῖσι, λιλαιομένη πόσιν εἶναι.

我想有这个(换行符替换为空格):

ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ τροίης ἱερὸν πτολίεθρον ἔπερσεν:
πολλῶν δ' ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω,
πολλὰ δ' ὅ γ' ἐν πόντῳ πάθεν ἄλγεα ὃν κατὰ θυμόν,
ἀρνύμενος ἥν τε ψυχὴν καὶ νόστον ἑταίρων.
ἀλλ' οὐδ' ὣς ἑτάρους ἐρρύσατο, ἱέμενός περ:
αὐτῶν γὰρ σφετέρῃσιν ἀτασθαλίῃσιν ὄλοντο,
νήπιοι, οἳ κατὰ βοῦς ὑπερίονος ἠελίοιο
ἤσθιον: αὐτὰρ ὁ τοῖσιν ἀφείλετο νόστιμον ἦμαρ.
τῶν ἁμόθεν γε,
θεά θύγατερ,
διός, εἰπὲ καὶ ἡμῖν.
ἔνθ' ἄλλοι μὲν πάντες, ὅσοι φύγον αἰπὺν ὄλεθρον,
οἴκοι ἔσαν, πόλεμόν τε πεφευγότες ἠδὲ θάλασσαν
τὸν δ' οἶον νόστου κεχρημένον ἠδὲ γυναικὸς,
νύμφη πότνι' ἔρυκε καλυψὼ δῖα θεάων
ἐν σπέσσι γλαφυροῖσι, λιλαιομένη πόσιν εἶναι.

还有一些像这样的列表:

list1 =     ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ τροίης ἱερὸν πτολίεθρον ἔπερσεν:
πολλῶν δ' ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω,
πολλὰ δ' ὅ γ' ἐν πόντῳ πάθεν ἄλγεα ὃν κατὰ θυμόν,
ἀρνύμενος ἥν τε ψυχὴν καὶ νόστον ἑταίρων.
list2 =     ἀλλ' οὐδ' ὣς ἑτάρους ἐρρύσατο, ἱέμενός περ:
αὐτῶν γὰρ σφετέρῃσιν ἀτασθαλίῃσιν ὄλοντο,
νήπιοι, οἳ κατὰ βοῦς ὑπερίονος ἠελίοιο
ἤσθιον: αὐτὰρ ὁ τοῖσιν ἀφείλετο νόστιμον ἦμαρ.
τῶν ἁμόθεν γε,
θεά θύγατερ,
διός, εἰπὲ καὶ ἡμῖν.
list3 =     ἔνθ' ἄλλοι μὲν πάντες, ὅσοι φύγον αἰπὺν ὄλεθρον,
οἴκοι ἔσαν, πόλεμόν τε πεφευγότες ἠδὲ θάλασσαν
τὸν δ' οἶον νόστου κεχρημένον ἠδὲ γυναικὸς,
νύμφη πότνι' ἔρυκε καλυψὼ δῖα θεάων
ἐν σπέσσι γλαφυροῖσι, λιλαιομένη πόσιν εἶναι.

现在这是一个例子,但它也可以是英语或其他语言,我只需要知道如何做这个操作。我没有太多的经验,所以我想有人在这个论坛可以帮助我,谢谢。

这是一种将每一行反转的方法。

count = 0
lists = []
sublists=[]
newtext = ""
for line in text.splitlines():
if len(line) == 0:
if sublists:
lists.append(sublists)
sublists = []
continue
elif (count + 1) % 2 == 0:
newtext += f'{"".join(reversed(line))}n'
count += 1
sublists.append(line)
else:
newtext += f'{line}n'
count+=1
sublists.append(line)
lists.append(sublists)

这将输出newtext,包含每隔一行反转的文本和lists,这是每个段落的嵌套列表。

最新更新