Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python: Listan alkion muokkaaminen

Kanarianlintu [13.09.2017 11:32:37]

#

Hei, minulla olisi jälleen kysymys, mihin en löytänyt vastausta yrityksistä huolimatta.

lista = ["Kameli"]

Onko mitään keinoa lukea listasta vain kirjain "a" ja toisaalta tallettaa tuohon kohtaan "b". En nyt tarkoita, että listassa pitäisi olla uusia alkioita, vaan yhden alkion korjaamisesta.

Kiitos vastauksista.

Mod. huom: Käytä kooditageja koodissa!

Jaska [13.09.2017 17:51:22]

#

No ainakin tuossa esimerkkitapauksessa seuraava toimii:

>>> lista = ["Kameli"]
>>> b=lista[0].replace('a','b')
>>> lista.remove('Kameli')
>>> lista.append(b)
>>> lista
['Kbmeli']
>>>

Yleisessä tapauksessa voit joutua etsimään korvattavan alkion listasta. Mutta mitä tarkalleen haluat? Pitäisiko vaikka "kamala" muuttua muotoon "kbmblb", "kbmala", "kambla" vai "kamalb"?

Metabolix [13.09.2017 20:55:10]

#

Jaska kirjoitti:

No ainakin tuossa esimerkkitapauksessa seuraava toimii: [remove – append]

Onpa epävarmaa purkkakikkailua. Järkevämpää on suoraan sijoittaa uusi teksti vanhan tilalle:

lista[0] = lista[0].replace("a", "b")

Kanarianlintu [15.09.2017 12:04:45]

#

Kiitos vastauksista:-)

Lähinnä etsin sellaista ratkaisua missä tekstitiedostoon tallentuu pitkiä numero- ja kirjainsarjoja ja sieltä pitäisi pystyä poimimaan esimerkiksi merkit 10-13 jotka ovat rivillä(esim 56) ja toisaalta voisi olla myös tarve korvata noita merkkejä uusilla.

Metabolix [15.09.2017 17:56:24]

#

Sitten pitää ladata rivit taulukkoon (readlines, kuten aiemmassa kysymyksessäsi) ja muokata riviä tähän tapaan:

merkit = rivit[56][10:14]
rivit[56] = rivit[56][:10] + "jeejee" + rivit[56][14:]

P.S. Muistahan käyttää aina kooditageja viesteissäsi koodin ympärillä (ks. tekstilaatikon yllä olevat valikot ja ohjelinkki).

P.P.S. Aloita aina uusi aihe, kun on uusi kysymys, äläkä jatka samaan!

Kanarianlintu [19.09.2017 15:55:38]

#

Kiitos hyvästä neuvosta:-)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta