Seite 1 von 1

Listen Einträge zu einem eintrag zusammenfassen

Verfasst: Donnerstag 31. Oktober 2019, 16:07
von Phobit
Hallo,
ich habe eine Liste mit, z.B. 6 Einträgen, "arg1", "arg2", "arg3", "arg4", "arg5", "arg6".

Jetzt möchte ich dass die ersten 3 Einträge, also "arg1", "arg2", "arg3" so bleiben wie sie sind, aber alle die danach kommen sollen als ein vierter Eitnrag zusammengefasst werden, damits am Ende ca. so aussieht:

Code: Alles auswählen

my_list = [ "arg1", "arg2", "arg3", "arg4 arg5 arg6"]
Ich weiß halt vorher nicht, wie viele Einträge die Liste haben wird, nur dass immer nach dem dritten alle zusammengefasst werden sollen.
Mein Ansatz sah ungefähr so aus:

Code: Alles auswählen

                if len(args) > 3:
                    for i in range(len(args)):
                        if i >= 3:
                            args[2] = str("%s %s" % (args[2], args[i]))
Das Problem ist, hier werden zwar als arg[2] alle folgenden einträge geschrieben, aber danach nochmal die jeweiligen einträge einzeln, ca. so:

Code: Alles auswählen

['arg1', 'arg2', 'arg3 arg4 arg5, 'arg3'', 'arg4', 'arg5']

Wie kann ich diese Einträge dann da wieder abspalten lassen? Oder gibt es vllt gleich eine viel einfachere Lösung diese Einträge zusammenzuhängen?

Re: Listen Einträge zu einem eintrag zusammenfassen

Verfasst: Donnerstag 31. Oktober 2019, 16:29
von Sirius3
Statt Listen zu verändern, baut man sich in Python neue:

Code: Alles auswählen

args = ["arg1", "arg2", "arg3", "arg4", "arg5", "arg6"]
neue_args = args[:2] + [" ".join(args[2:])]

Re: Listen Einträge zu einem eintrag zusammenfassen

Verfasst: Freitag 1. November 2019, 18:27
von Phobit
Vielen Dank :-)