1. ホーム
  2. python

[解決済み] 前と次の値にもアクセスするループ

2023-01-06 12:53:53

質問

どのように私はオブジェクトのリストを反復し、前、現在、次のアイテムにアクセスすることができますか?このC/C++のコードのように、Pythonで?

foo = somevalue;
previous = next = 0;

for (i=1; i<objects.length(); i++) {
    if (objects[i]==foo) {
        previous = objects[i-1];
        next = objects[i+1];
    }
}

どのように解決するのですか?

これはトリックを行う必要があります。

foo = somevalue
previous = next_ = None
l = len(objects)
for index, obj in enumerate(objects):
    if obj == foo:
        if index > 0:
            previous = objects[index - 1]
        if index < (l - 1):
            next_ = objects[index + 1]

以下は enumerate 関数のドキュメントです。