私はチームの勝利の最長のストリークとこの特定のストリークの開始日と終了日を示すために何かをまとめています。私は、次の2つのリストを持っているのであれば、たとえば、:リスト内の最も長いストリークの開始と終了のインデックスを取得
streak = ["W", "W", "W", "L","W", "W", "W", "W", "W", "L"]
dates = ["2016-06-15", "2016-06-14", "2016-06-13", "2016-06-10", "2016-06-09", "2016-06-08", "2016-06-05", "2016-06-03", "2016-06-02", "2016-06-02"]
私は私のような何かを行うことができ、最長連勝取得したい場合は、:
from itertools import groupby
longest = sorted([list(y) for x, y in groupby(streak)], key = len)[-1]
print longest
["W", "W", "W", "W", "W"]
を今私のアイデアはなら、私が知っているようでした(これは、この場合にはので、何とかこの最長ストリークの開始と終了インデックスを取得するために)良く行うことができます。
start, end = get_indices(streak, longest) # 8, 4
print "The longest streak of {}{} was from {} to {}.".format(len(longest), longest[0], dates[start], dates[end])
"The longest streak of 5W was from 2016-06-02 to 2016-06-09.
はどうすればこれを行うことができますか?あるいは、これを行うより良い方法があります。例えば、リストを一緒に圧縮して、それを使って何かするのですか?
あなたの日付がリストの終わりから始めて "逆"になっていると言えば、私は自分の答えでこれを考慮に入れました。 –