2016-08-04 23 views
-1

Dies ist, wie meine Liste sehen, nachdem er einige csv-Parsing mit:Sortieren einer Liste von Listen in Python

list=[['1131', '01/06/15', 'PROFI ROM FOOD SRL', '290.7'], 
     ['1131', '', '', ''], ['2024194PJ', '01/08/15', 
     'SOCIETATEA NATIONALA DE', '2,088.17'], ['2024194PJ', '', 'RADIOCOMUNICATII SA', '']] 

(dies ist eine Datenprobe, werden aktuelle Liste größer sein) ich diese Liste analysieren wird:

for a in list: 
    for x in a: 
     if ....: 
     anotherlist.append(x) 

ich möchte diese Ausgabe:

anotherlist=[['1131', '01/06/15', 'PROFI ROM FOOD SRL', '290.7'], 
['2024194PJ', '01/08/15', 'SOCIETATEA NATIONALA DE RADIOCOMUNICATII 
SA', '2,088.17']] 

ich den 2rd Indexwert auf jede vorherige Liste angehängt werden soll und löschen Sie diese spezielle Liste, so dass diese

[['2024194PJ', '01/08/15', 'SOCIETATEA NATIONALA DE', 
'2,088.17'], ['2024194PJ', '', 'RADIOCOMUNICATII SA', '']] 

wird diese

[['2024194PJ', '01/08/15', 
'SOCIETATEA NATIONALA DE RADIOCOMUNICATII SA', '2,088.17']] 

und auch loszuwerden dieses Format

['1131', '', '', ''] 

Aber ich weiß nicht, wie das zu tun.

Antwort

0

die Liste Angenommen wird immer das Schema folgen Sie zur Verfügung gestellt:

list2 = [] 
for i in range(len(list)/2): 
    list2 += [[list[i*2][0], 
       list[i*2][1], 
       list[i*2][2] + ' ' + list[i*2+1][2], 
       list[i*2][3]]] 

Erläuterung:
Wir mit einer leeren Liste starten (list2):

list2 = [] 

Eine for-Schleife geht dann durch die ganze Liste, aber sieht nur jedes zweite Element:

Bei jedem Schritt fügt sie einen neuen Eintrag zu liste2:

list2 += 

Dieser neuen Eintrag ist eine Kombination aus zwei Listenelementen, list [i * 2] und list [i * 2 + 1]:

  [[list[i*2][0], 
      list[i*2][1], 
      list[i*2][2] + ' ' + list[i*2+1][2], 
      list[i*2][3]]] 
+0

Perfekt, das funktioniert, können Sie mir erklären, was Sie dort getan haben? Danke vielmals! – Rommel

+0

@Rommel Ich habe der Antwort einige Details hinzugefügt. –

+0

Ich habe diese Punkte, aber wie ignoriert die Schleife die Listen, die ich nicht brauche? Vielen Dank! – Rommel

Verwandte Themen