Tôi muốn để có thể tham gia một chuỗi như:Đây có phải là cách bạn phân trang hoặc có thuật toán tốt hơn không?
my_sequence = ['foo', 'bar', 'baz', 'spam', 'eggs', 'cheese', 'yogurt']
Sử dụng một chức năng như:
my_paginated_sequence = get_rows(my_sequence, 3)
Để nhận được:
[['foo', 'bar', 'baz'], ['spam', 'eggs', 'cheese'], ['yogurt']]
Đây là những gì tôi đã đưa ra bằng chỉ cần suy nghĩ qua nó:
def get_rows(sequence, num):
count = 1
rows = list()
cols = list()
for item in sequence:
if count == num:
cols.append(item)
rows.append(cols)
cols = list()
count = 1
else:
cols.append(item)
count += 1
if count > 0:
rows.append(cols)
return rows
@Noon - thx, không nghĩ thêm điều đó. Ngoài ra, bạn có phải là một ninja tình cờ? – orokusaki
có thể trùng lặp của [Lợi nhuận nhiều đối tượng tại một thời điểm từ một đối tượng có thể lặp lại?] (Http://stackoverflow.com/questions/2202461/yield-multiple-objects-at-a-time-from-an-iterable-object) –
có thể trùng lặp của [Làm thế nào để bạn chia danh sách thành các khối có kích thước đồng đều trong Python?] (Http://stackoverflow.com/q/312443/54262) –