2016-05-27 7 views
0

Ich habe eine Spalte von Zahlen, die ich von einem Code habe ich schrieb, und ich möchte sie in einer Zeile auflisten. Ich habe das nicht aus einer Akte bekommen. Es ist eine Ausgabe von einer Schleife a codiert. Hier ist der Code.Ausgabe ist Spalte und will es in einer Reihe sein

ast = [3,1] 
fgh = list(itertools.product(ast, repeat=3)) 
hij = [",".join(map(str, item)) for item in fgh] 

my_list = [3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 1, 1, 1, 3, 3, 3, 3, 1, 1, 3, 1, 1] 
n=3 
gth =[",".join(str(number) for number in my_list[(i * n):(i * n + n)]) 
    for i in range(len(my_list)/n)] 

for i in range(0, len(gth)-1): 
for t in range(0, len(hij)-1): 
    if gth[i] == hij[t]: 
    print gth[i] 

das ist, was ich bekomme, wenn ich gth [i] drucken

3,1,3 
3,1,3 
3,1,3 
3,3,3 
3,1,1 

Und es so aussehen würde.

['3,1,3', '3,1,3', '3,1,3', '3,3,3', '3,1,1'] 

Ich weiß, dass ich eine Frage wie diese letzte Nacht gestellt, aber jede Antwort, die ich bekam sie davon ausgegangen, es war entweder ein Datenrahmen oder aus einer Datei, die meine Schuld war vergessen Art zu erwähnen. Es ist ein String. Aber wenn ich versuche, es aufzulisten, bekomme ich das.

['3', ',', '1', ',', '3'] 
['3', ',', '1', ',', '3'] 
['3', ',', '1', ',', '3'] 
['3', ',', '1', ',', '3'] 
['3', ',', '3', ',', '3'] 
['3', ',', '1', ',', '1'] 

Was mache ich hier falsch? Wenn Sie mich brauchen, um mehr von dem Code zu posten, um zu helfen, die Frage zu verstehen, kommentieren Sie bitte unten, ich wollte einfach nicht die Frage durcheinander bringen. Vielen Dank!

+0

"Es ist eine Ausgabe von einer Schleife ein codiertes" .. Was Sie damit meinen Sie? Ist es gedruckt? –

+0

Ich habe eine Schleife codiert, dann habe ich das Ergebnis gedruckt –

+0

Würde es helfen, die Schleife in Frage zu stellen? Ich wollte es einfach nicht wirklich überladen machen. –

Antwort

1

Verwendung ist die Liste:

import itertools 

lst = [] 

ast = [3,1] 
fgh = list(itertools.product(ast, repeat=3)) 
hij = [",".join(map(str, item)) for item in fgh] 

my_list = [3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 1, 1, 1, 3, 3, 3, 3, 1, 1, 3, 1, 1] 
n=3 
gth =[",".join(str(number) for number in my_list[(i * n):(i * n + n)]) 

for i in range(len(my_list)/n)] 

for i in range(0, len(gth)-1): 
    for t in range(0, len(hij)-1): 
     if gth[i] == hij[t]: 
     lst.append(gth[i]) 

Ausgang:

>>> lst 
['3,1,3', '3,1,3', '3,1,3', '3,1,3', '3,3,3', '3,1,1'] 
+0

Ich legte den Druck unter die if-Anweisung, es war alles durcheinander bringen. Ich habe das schon mal probiert. Aber immer wieder komische Ausdrucke, kleine dumme Fehler. Danke, ich schätze es sehr. Hab alles herausgefunden –

Verwandte Themen