Ich möchte über eine Liste iterieren und finden Sie die neuesten "aufeinander folgenden Wert".erhalten spezifischen Index bei der Verwendung izip über Liste
Was bedeutet, dass auch: 420-423, Indexnummer:
Wenn ich eine Liste priceValue = [423, 399, 390, 400, 430, 420, 423]
, meine letzte Mal in Folge Wert haben die 2 letzten Indizes sein 5 und 6
Ich möchte iterieren und den Index an den richtigen Ort
in diesem Moment benutze ich zu bekommen:
for x, y in itertools.izip(priceValue, priceValue[1:]):
print x, y
if y > x:
#print x, y
print priceValue.index(y), priceValue.index(x)
Aber mein Problem ist, dass es nur den Index "0" und "5" druckt, da der Wert 423 bei Index 0 gefunden wird.
Wie bekomme ich den richtigen Index?
HINWEIS: Ich kann "izip" nicht in Tags taggen.
danke, aber wie bekomme ich dann das richtige x und y? Es beklagt sich, wenn ich Ihre Lösung –
@NutshellProgrammer, '[(i, i + 1, x, y) für i, (x, y) in enumeriere (itertools.izip (xs, xs [1:])) wenn y > x] 'oder' [(x, y) für i, (x, y) in enumerate (itertools.izip (xs, xs [1:])) wenn y> x] 'abhängig von Ihrem Bedarf. – falsetru
wie folgt: [i für i, (x, y) in enumerate (itertools.izip (xs, xs [1:])) wenn y> x] drucken x, y wenn y> x: #print x , y timeIndexY = priceValue.index (y) drucken priceValue.index (y), priceValue.index (x) –