Iterate over pairs in a list (circular fashion) in Python

前端 未结 13 1966
醉酒成梦
醉酒成梦 2020-12-01 01:14

The problem is easy, I want to iterate over each element of the list and the next one in pairs (wrapping the last one with the first).

I\'ve thought about two unpyth

13条回答
  •  爱一瞬间的悲伤
    2020-12-01 02:06

    def pairs(lst):
        i = iter(lst)
        first = prev = item = i.next()
        for item in i:
            yield prev, item
            prev = item
        yield item, first
    

    Works on any non-empty sequence, no indexing required.

提交回复
热议问题