def paginate_data(data_list, size_page, current_page):
"""
資料分頁函式
:param data_list: list, 資料列表
:param size_page: int, 每頁的數量
:param current_page: int, 當前頁碼
:return: tuple, (總頁數, 當前頁碼, 當前頁的資料列表)
"""
if size_page <= 0:
raise ValueError("每頁數量必須大於0")
if current_page <= 0:
raise ValueError("當前頁碼必須大於0")
# 計算總頁數
total_page = (len(data_list) + size_page - 1) // size_page
# 校正當前頁碼
current_page = min(current_page, total_page)
# 計算當前頁資料的起始索引和結束索引
start_index = (current_page - 1) * size_page
end_index = start_index + size_page
# 獲取當前頁的資料列表
result_data_list = data_list[start_index:end_index]
return total_page, current_page, result_data_list
# 示例用法
data_list = [i for i in range(100)] # 0到99的數
size_page = 10
current_page = 3
total_page, current_page, result_data_list = paginate_data(data_list, size_page, current_page)
print(f"總頁數: {total_page}")
print(f"當前頁: {current_page}")
print(f"當前頁資料列表: {result_data_list}")
python 自定義資料分頁
相關文章
- 自定義分頁格式
- Laravel 中 dingo API tranformer 返回自定義分頁格式資料LaravelGoAPIORM
- 使用 Laravel Resource 類時自定義分頁資訊Laravel
- SAP UI5 列表控制元件分頁顯示資料時,如何自定義分頁大小UI控制元件
- Python 多程式的自定義共享資料型別Python資料型別
- python實現資料分頁小練習Python
- 自定義資料型別資料型別
- PyTorch 自定義資料集PyTorch
- XAF自定義啟動頁
- Python自定義排序Python排序
- Layui資料表格 加入 自定義擴充套件方法(重新渲染Render當前頁資料)UI套件
- DM自定義資料型別資料型別
- Mybatis原始碼分析(七)自定義快取、分頁的實現MyBatis原始碼快取
- 如何自定義Safari的起始頁
- 自定義OAM錯誤頁面
- 自定義react資料驗證元件React元件
- 自定義響應資料結構資料結構
- 自定義元件-資料、方法、屬性元件
- 自定義元件-資料監聽器元件
- 自定義元件-純資料欄位元件
- 聊聊如何自定義資料脫敏
- 資料分頁說明
- 在SAP Spartacus產品明細頁面用outlet顯示自定義資料
- 掌握 Nuxt 3 的頁面後設資料:使用 definePageMeta 進行自定義配置UX
- 微信小程式在頁面,自定義元件中使用資料監聽器微信小程式元件
- 教你自定義Flutter錯誤頁面Flutter
- 自定義登入和登出頁面
- keycloak~使用自定義的註冊頁
- 前端頁面自定義滾動條前端
- es 自定義分詞外掛分詞
- 按自定義週期統計資料
- Vector中存放自定義資料型別資料型別
- 如何自定義python語法.Python
- python教程:自定義函式Python函式
- Python如何自定義元類Python
- Laravel 自定義登入註冊頁面並使用 Ajax 進行資料傳輸Laravel
- iOS自定義控制元件:自定義TableView、CollectionView空資料佔點陣圖iOS控制元件View
- Tensorflow2 自定義資料集圖片完成圖片分類任務