2016-10-06 7 views
0

Ich bin neu in Python ohne Programmierhintergrund außer einigen Shell-Skripts.So extrahieren Sie eine Zeichenfolge aus einer Liste

I 2 Felder aus der Liste extrahieren möchten: Here I ‚title‘ wollen und ‚spielt‘ und weisen Sie auf eine andere Liste eg) neue_liste = [title spielt]

alist=[(0, 'title', 'TEXT', 0, None, 0), (1, 'plays', 'integer', 0, None, 0)] 
+0

ist die Daten immer in der zweiten Position des Tupels? – idjaw

+0

Ist 'new_list = [x [1] für x in alist]' was willst du? –

+0

Sie sollten ein Wörterbuch verwenden. 'dict = {" title ": [0," TEXT ", 0, Keine, 0]," spielt ": [1," spielt "," integer ", 0, None, 0]} jetzt wenn du gehst bekomme einen Wert, den du tun kannst, "dict ['text']' und es wird '[0, 'TEXT', 0, None, 0]' 'zurückgeben. –

Antwort

3

Die einfachste Art und Weise, natürlich, es ist einfach schreibt die Zuweisungsanweisung:

new_list=['title','plays'] 

Aber Sie wahrscheinlich eine allgemeinere Frage stellen sollten, wie „Wie kann ich den zweiten Punkt aus den ersten beiden Tupeln in einer Liste extrahieren?“ Wie so:

new_list = [alist[0][1], alist[1][1]] 

Oder vielleicht gemeint Sie: „Wie kann ich das zweite Element aus jedem Tupel in einer Liste extrahieren?“ Wie so:

new_list = [t[1] for t in alist] 
+0

_ "Der einfachste Weg ist natürlich, einfach die Aufgabenbeschreibung zu schreiben:" _ - Du wusstest genau, was er meinte;) Versuch, lustig zu sein, hä? –

2
alist = [(0, 'title', 'TEXT', 0, None, 0),(0, 'plays', 'integer', 0, None, 0)] 
new_list = [alist[0][1], alist[1][1]] 

zu überprüfen,

print(new_list) 

Erklären

Diese Zeile:

alist = [(0, 'title', 'TEXT', 0, None, 0), (0, 'plays', 'integer', 0, None, 0)] 

Oben ist eigentlich ein tuple innen list. Also innerhalb der alist, gibt es zwei tuples. In jedem tuple gibt es 6objects.

Also alist[0] bedeutet, Sie rufen die erste tuple innerhalb der alist. und alist[0][1] bedeutet, dass Sie second Element der ersten tuple aufrufen. So können Sie auch an alist[1][1] denken.

+0

Es sieht so aus, als ob Ihr Kommentar ein wenig seltsam formatiert wurde ... –

+0

@ Mr.goosberry Danke für die Information.entfernt es. :) –

+1

Deine Begrüßung;) Ich weiß nicht warum, aber wenn du zwischen '#' und einem Kommentar kein Leerzeichen setzt, erkennt Stack Overflow das nicht als Kommentar. Ich überlege, diesen Bug auf Meta zu bringen. –

Verwandte Themen