Forum: PC Hard- und Software Python:: atentyp list frage


von R. F. (rfr)


Lesenswert?

Mahlzeit!!
folgendes snippet:
-------------------------8<-----------------

zeile = []

zeile.append()  = ef.read()       # einlesen aller Elemente
a = len(zeile)
b = zeile.count("\n")
if a == 0:
    print("nix gelesen!")
    exit()

for i in range (1,a) :
    if zeile[i] != "\n":
        continue
    if zeile[i] =="\n" and i % 4 ==0:
        continue
    else: zeile[i] = ","
----------------------------8<-----------------

zuerst wird eine Liste erzeugt, weil ich einen mutable sequentiellen 
Datentyp brauche. Im letztem  statement  kommt   ein Error:

    TypeError: 'str' object does not support item assignment

zeile wird eingentlich als list erwartet, aber als string geliefert, der 
unmutable ist.

Ich bin derzeit ratlos. Kann jemand weiter helfen?

Gruss

Robert

von Sebastian W. (wangnick)


Lesenswert?

Also bei mir wirft der Interpreter schon in der zweiten Zeile einen 
SyntaxError aus, weil man einem Funktionsaufruf keinen Wert zuweisen 
kann ...

LG, Sebastian

: Bearbeitet durch User
von Ein T. (ein_typ)


Lesenswert?

R. F. schrieb:
> zeile.append()  = ef.read()       # einlesen aller Elemente

Bitte arbeite ein Tutorial zu den Grundlagen von Python durch, auf 
englisch findest Du das offizielle Tutorial hier [1], eine 
deutschsprachige Version  hier [2] -- die deutschsprachige Version ist 
schon etwas älter, aber immer noch sehr, sehr nützlich, wenn man kein 
Englisch kann.

[1] https://docs.python.org/3/tutorial/index.html
[2] https://py-tutorial-de.readthedocs.io/de/python-3.3/

von Thomas (werists)


Lesenswert?

R. F. schrieb:
> zeile wird eingentlich als list erwartet, aber als string geliefert, der
> unmutable ist.

Bau mal vor die fehlerhafte folgendes Codezeile ein:
1
print(type(zeile))
2
print(type(zeile[i))

von Ein T. (ein_typ)


Lesenswert?

Thomas schrieb:
> Bau mal vor die fehlerhafte folgendes Codezeile ein:
>
1
> print(type(zeile))
2
> print(type(zeile[i))
3
>

Echt jetzt? Der Code des TO enthält bereits in seiner zweiten Zeile 
einen eindeutigen Fehler, den niemand gemacht hätte, der sich auch nur 
kurz mit Python beschäftigt hat -- und auch sein übriger Code zeigt 
eindeutig, daß dieser Mensch vor allem ein Anfängertutorial benötigt. 
Zwei solche wurden bereits empfohlen,  aber Du ihm dann stattdessen 
einen zudem fehlerhaften "Debug"-Code... Was soll denn bitte das werden, 
wenn es fertig ist?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.