私は条件付きロジックを以下に基づいて、Pythonのリストから値を抽出したい:エキス値
ll = [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015]
私は与えられた値の前後に3つの値を抽出したいです。例えば入力が2007の場合は、2004年、2005年、2006年およびそれ以降の3つの値は、2008年、2009年、2010年となります。入力が2014の場合は、前に5つの値を抽出し、 6つの値のうちの1つ)。
forループを使用してこれを行うことはできますが、もっとpythonicな解決策がありますか?
はい、スライスを使用してこれを行うことができます。以下は参考になります:https://docs.python.org/2.3/whatsnew/section-slices.html これらのスライスの実際の値を計算する必要があります。あなたが言ったように、あなたは常に6つのリスト項目が必要です。しかし、それがリストの最後にある場合、あなたはラップアラウンドしたくありません。 –
@CarlesMitjans、はいそれは常に注文され、ステップサイズは1と仮定できます – user308827