2016-04-22 19 views
-1

Ich möchte den Korpus durch Verketten aller Artikel (Körper) in meiner Datei erstellen.Verketten durch eine Schleife Artikel in Python

for i in range(len(data) -1): 
    corpus = data[i]['body'] + data[i+1]['body'] 
print(corpus) 

Wie du mir vorgestellt hast, bekomme ich nur die letzten zwei Artikel zusammen. Irgendeine Idee, wie man alle zusammenbringt?

Antwort

1
corpus = [] 
for i in range(len(data) -1): 
    corpus.append(data[i]['body'] + data[i+1]['body']) 
print(corpus) 
2

Bei jeder Iteration überschreiben Sie den vorherigen Wert corpus. Verketten Sie sie alle zusammen.

corpus = '' 
for i in range(len(data) - 1): 
    corpus += data[i]['body'] 

Dies könnte direkt durch Iterieren über data vereinfacht werden.

corpus = '' 
for d in data: 
    corpus += d['body'] 

Oder noch besser, verwenden str.join mit einem Generator Ausdruck alles in einer Zeile zu tun.

corpus = ''.join(d['body'] for d in data) 
-1

Die Druckanweisung ist außerhalb der Schleife. Platziere es innen und du bist gut zu gehen