PageInfo手动对list进行分页
时间: 2023-08-23 11:03:49 浏览: 56
要手动对list进行分页,可以使用Python的切片(slice)语法来实现。下面是一个示例代码,可以将一个list按照指定的每页数量进行分页:
```python
def paginate(items, page_size):
total_pages = len(items) // page_size + (1 if len(items) % page_size > 0 else 0)
for page in range(total_pages):
start_index = page * page_size
end_index = start_index + page_size
yield items[start_index:end_index]
```
这个函数接受两个参数:一个是要分页的list,另一个是每页的数量。它会返回一个生成器(generator),每次迭代会返回一个分页后的list。你可以通过for循环来遍历这个生成器,获取分页后的list。例如:
```python
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
page_size = 3
for page_items in paginate(items, page_size):
print(page_items)
```
这个代码会输出:
```
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[10]
```
注意,这个函数并没有改变原始的list,而是返回了一个新的分页后的list。如果你需要在原始list上进行分页,可以使用类似`items[start_index:end_index] = new_items`的语法来替换原始的list的对应部分。