2016-04-23 10 views
0

Ich habe ein Problem wie folgt aus:Wie bekomme ich die Liste der Listen?

list = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]] 

ich wie eine neue Liste bekommen möchten, dass

new_list['a1','b1','c1','d1'] 

ich tun, wie folgt:

lst = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]] 
for item in lst: 
    print(item) 

Ergebnis ist:

a1 
['b1', 2] 
['c1', 2, 3] 
['d1', 2, 3, 4] 

B ut Ich möchte das erste Element jedes Ergebnis

Die beste Antwort ist wie folgt:

my_list = list() 
lst = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]] 
for element in lst: 
if type(element)==type('string'): 
    my_list.append(element) 
else: 
    my_list.append(element[0]) 
print(my_list) 

Thank you!

+4

Mögliches Duplikat [Get erstes Element der Liste, wenn die Liste nicht None ist: Python] tun würde (http://stackoverflow.com/questions/9327158/get-first-element-of -list-if-list-is-not-none-python) – VermillionAzure

+0

Nicht das gleiche Problem –

+0

Ich denke, Ihre Lösung ist nicht richtig. Sie möchten "a1" in der Ausgabe, aber Ihre Lösung druckt stattdessen ein einzelnes "a" -Zeichen. – EbraHim

Antwort

1

Tun Sie es wie folgt:

>>> my_list = list() 
>>> lst = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]] 
>>> for element in lst: 
    if type(element)==type('string'): 
     my_list.append(element) 
    else: 
     my_list.append(element[0]) 

Es produzieren:

>>> my_list 
['a1', 'b1', 'c1', 'd1'] 
>>> 

Wie Sie oben sehen, zuerst habe ich eine Liste (mit dem Namen my_list) und überprüft dann die jeweils Elemente Ihrer Liste. Wenn das Element eine Zeichenkette war, fügte ich es zu my_list hinzu und ansonsten (d. H. Es ist eine Liste) fügte ich das erste Element davon zu my_list hinzu.

+0

Dies wird nicht funktionieren, weil es nicht als erstes Element a1 erhalten – karina

+0

@karina Danke. Ich denke, es ist jetzt in Ordnung. :) – EbraHim

+0

Danke, ich habe einige Elemente, wenn ich eine Webskriptionsregel entwerfe. Methold hilf mir sehr! –

0

I

res = [] 
for x in the_list: 
    if x is Array: 
     res.append(x[0]) 
    else: 
     res.append(x) 
+0

Es ist nicht gelungen, das erste Element jeder sub_list zu bekommen. Bitte überprüfen. Danke –

Verwandte Themen