Python sekvens från fil till lista

Permalänk
Medlem

Python sekvens från fil till lista

Hejsan,

Jag undrar om det finns något smidigt sätt att splitta upp en sekvens som lästs in från fil i nya mindre sekvenser. Jag vill alltså splitta upp sekvenser t.ex 3 karaktärer(bokstäver, tecken etc) långa där varje ny kortare sekvens läggs i ett element i en lista. Alltså inte split(sep) där sep är ett specifikt tecken eller space.

Ex,
fil.txt innehåll - jagärnybörjare1
Jag vill dela in sekvensen som lästs in från filen inte beroende på split(sep) utan på antalet karaktärer. T.ex dela upp sekvensen i nya sekvenser 3 karaktärer långa och varje ny sekvens läggs i ett element i en lista.
["jag", "ärn", "ybö", "rja", "re1"]

Hur går jag tillväga? Tacksam för svar.

Permalänk
Medlem

Hej,
du kanske vet att du kan läsa ut n stycken tecken ur en sträng med s.k. slices

s1 = "testthisstring" s2 = s1[:3]

s2 kommer nu hålla de 3 första tecknen ur s1 dvs "tes"
Det vi vill göra nu är att loopa över strängens längd och hoppa n tecken (i ditt fall är n=3) för varje hopp så vill vi plocka ut n tecken.

slist = [s1[i:i+3] for i in range(0, len(s1), 3)]

det enda du har kvar att undersöka är om sista elementet i listan, slist, har 3 tecken eller ej och om ej 3 tecken så kasta bort den.

if not 3==len(slist[-1]): slist=slist[:-1]

borde fungera...

Visa signatur

weeeee

Permalänk
Medlem

Det blev kanon, tack för hjälpen mounte!