Nói rằng tôi có một danh sách:Cycle qua danh sách bắt đầu từ một yếu tố nào đó
l = [1, 2, 3, 4]
Và tôi muốn chu kỳ thông qua nó. Thông thường, nó sẽ làm một cái gì đó như thế này,
1, 2, 3, 4, 1, 2, 3, 4, 1, 2...
Tôi muốn có thể bắt đầu tại một điểm nhất định trong chu kỳ, không nhất thiết là chỉ mục, nhưng có lẽ khớp với một phần tử. Giả sử tôi muốn bắt đầu ở bất kỳ phần tử nào trong danh sách ==4
, thì đầu ra sẽ là,
4, 1, 2, 3, 4, 1, 2, 3, 4, 1...
Làm cách nào để thực hiện điều này?
'4 .__ cmp__' cũng làm việc thay vì lambda xấu xí –
@gnibbler Nó sẽ làm để đưa '4' trong ngoặc' (4) .__ cmp__'. Nếu không nó không hoạt động (ít nhất là trong Python 2.7.2). Và với dấu ngoặc đơn, nó trông không đẹp. – ovgolovin
@gnibbler Và như của Python 3 nó sẽ sử dụng '__eq__' thay vì' __cmp__' (không có '__cmp__' như của phiên bản 3). – ovgolovin