Python Wymień i wpisz błąd

Kodałem ten kod Python:


if type/data/.__name__=='list':
print type/data/.__name__
print ",".join/data/


I daje mi ten błąd:


print ",".join/data/
exceptions.TypeError: sequence item 0: expected string, list found


Jak to jest możliwe?!?

Z góry dziękuję za jakąkolwiek pomoc.
Zaproszony:

Ryszard

Potwierdzenie od:

Wygląda na to, że masz listę list. Próbować:


",".join/str/x/ for x in data/

Ireneusz

Potwierdzenie od:

str.join//

Można dołączyć tylko do sekwencji linii. Oczywiście lista zawiera element, który sam jest ponownie lista.

Ponadto, jeśli naprawdę musisz sprawdzić typ obiektu, najlepszy sposób, aby to zrobić


if isinstance/data, list/:
...

Wojciech

Potwierdzenie od:

Pierwszy element
data

- to jest
list

. Powinien być ciągiem
str.join//

Pracował, jak pokazano na rysunku. W rzeczywistości wszystkie elementy powinny.

Andrzej

Potwierdzenie od:

Nie sprawdzaj typów wyraźnych. Jeśli naprawdę go potrzebujesz, użyj
http://docs.python.org/library ... tance
.

Błąd występuje z powodu treści
data

, Nie jego typ. Musi to być lista linii do metody
str.join

Pracował nad nim.

Marek

Potwierdzenie od:

Pierwszy element twojej listy jest również lista, a nie ciąg.

Ponadto nie musisz robić
type/data/.__name__=='list'

-po prostu
type/data/ is list


Jeszcze lepiej, sprawdź
isinstance

, Ponieważ w większości przypadków naprawdę nie dbasz o określony typ.

Aleksander

Potwierdzenie od:

join

Czekam na iterację

Rząd

. W twoim przypadku wydaje się, że pierwszy element twojej listy to kolejna lista. To jest to, co powoduje błąd.

Ponadto,
if type/data/.__name__=='list': ...

Więc Nepifonic jak najwięcej w Kodeksie.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się