Python 2: AttributeError: 'list' - Objekt hat kein Attribut 'strip'
Ich habe ein kleines problem mit der Liste. So habe ich eine Liste namens l
:
l = ['Facebook;Google+;MySpace', 'Apple;Android']
Und wie Sie sehen können, habe ich nur 2 Saiten in meiner Liste. Ich trennen möchte meine Liste l
durch ';' und meine neuen 5-Zeichenfolgen in eine neue Liste namens l1
.
Wie kann ich das tun?
Und auch ich habe versucht, das in etwa so machen:
l1 = l.strip().split(';')
Aber Python geben mir eine Fehlermeldung:
AttributeError: 'list' object has no attribute 'strip'
Also, wenn 'Liste' - Objekt hat kein Attribut 'Streifen' oder 'split', wie kann ich das aufteilen einer Liste?
Dank
- Übrigens
l
undl1
sind nur über die schlimmsten Namen der Variablen können Sie verwenden; verwenden Sie bitte nicht im echten code. 🙂 - Eine Liste der bereits split in der Liste, die Elemente...
InformationsquelleAutor Michael | 2013-07-19
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
strip()
ist eine Methode für strings, die Sie anrufen, es auf einelist
, daher der Fehler.Tun, was Sie wollen, nur tun
Da, Sie wollen die Elemente werden in einer einzigen Liste (und nicht eine Liste von Listen), haben Sie zwei Möglichkeiten.
Zu tun, Folgen Sie zunächst den code:
Zu tun, die zweite, verwenden Sie
itertools.Kette
Sollte dies sein, was Sie wollen:
Ausgabe:
Hoffe, das hilft 🙂
Was Sie tun möchten, ist -
Die erste Zeile fügt eine
;
zu EndeMySpace
so dass beim aufteilen, wird es nicht gebenMySpaceApple
Dies verbindet l in einen string und dann kann man nur-
Dies funktioniert, weil strtemp ist eine Zeichenkette, die hat .split()
";".join(l)
?Eine mögliche Lösung, die ich versucht haben, richtig ist jetzt:
(Stellen Sie sicher, tun Sie es in allgemeiner Weise die Verwendung, für, während mit index)
Den split der string-Eintrag in der Liste aus. l[0].strip()
Teilen Sie die Saiten, und verwenden Sie dann Kette.from_iterable kombinieren Sie in einer einzigen Liste