Was bedeutet dieser Fehler?
TypeError: kann 'str' und 'list' Objekte nicht verketten
Hier ist ein Teil des Codes:
%Vor% Ich bin mir nicht sicher, dass Sie wissen, dass cmd
ein ein-Element list
und keine Zeichenfolge ist.
Wenn Sie diese Zeile in die folgende Zeile ändern, wird eine Zeichenfolge erstellt, und der Rest Ihres Codes funktioniert:
%Vor%Ich nehme an, Sie haben Klammern verwendet, um die Operationen zu gruppieren. Das ist nicht notwendig, wenn alles in einer Zeile steht. Wenn Sie es über zwei Zeilen aufteilen möchten, sollten Sie Klammern und keine Klammern verwenden:
%Vor% Alles zwischen eckigen Klammern in Python ist immer a list
. Ausdrücke zwischen Klammern werden als normal ausgewertet, sofern im Ausdruck kein Komma vorhanden ist. In diesem Fall fungieren die Klammern als tuple
-Konstruktor:
String-Objekte können nur mit anderen Strings verkettet werden. Python ist eine stark typisierte Sprache. Es wird nicht Typen für Sie zwingen.
können Sie tun:
%Vor%aber nicht:
%Vor%In Ihrem Fall versuchen Sie, eine Zeichenfolge und eine Liste zu erstellen. Das wird nicht funktionieren. Sie können das Element jedoch an die Liste anhängen, wenn dies das gewünschte Ergebnis ist:
%Vor%Es gibt ein weiteres Problem im OP-Code:
z = ('0.')
dann später for k in z:
Die Klammern in der ersten Anweisung werden ignoriert, was zur zweiten Anweisung führt, die k
zuerst mit '0'
verbindet und dann '.'
... sieht so aus, als wäre z = ('0.', )
beabsichtigt.