欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文教你使用Python實(shí)現(xiàn)本地分頁(yè)

 更新時(shí)間:2025年02月10日 10:44:13   作者:快樂(lè)星球沒(méi)有樂(lè)  
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)本地分頁(yè)的算法,主要針對(duì)二級(jí)數(shù)據(jù)結(jié)構(gòu),文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以了解下

在項(xiàng)目開(kāi)發(fā)的過(guò)程中,遇到分頁(yè)的第一頁(yè)就展示大量的數(shù)據(jù),導(dǎo)致前端列表加載展示的速度慢,所以需要在本地加入分頁(yè)處理,把所有數(shù)據(jù)先放到內(nèi)存里,下面我用Python演示如何實(shí)現(xiàn)本地分頁(yè)的算法(針對(duì)二級(jí)數(shù)據(jù)結(jié)構(gòu))

initialSize = 2 # 首屏展示條數(shù)
eachSize = 5    # 剩余頁(yè)展示條數(shù)

local_pages = []  # 本地分頁(yè)數(shù)據(jù)

def makePage(d):
    '''
    制作分頁(yè)數(shù)據(jù)
    '''
    local_pages.clear()
    if calcSize(d) > initialSize: # 總條數(shù)大于首屏數(shù),使用本地分頁(yè)
        sublist = []
        for item in d:
            for child in item["child"]:
                sublist.append(child)
        
        firstPageSize = min(len(sublist), initialSize) # 第一頁(yè)的大小

        local_pages.append(sublist[0:firstPageSize]) # 取第一頁(yè)的集合

        remain_size = len(sublist)-firstPageSize # 剩余條數(shù)

        group_count = int(remain_size / eachSize) # 計(jì)算分頁(yè)數(shù)

        last_count = remain_size % eachSize # 取余,最后剩余多少條

        idx = 0
        for idx in range(group_count):
            start = firstPageSize + idx * eachSize
            end = start + eachSize
            local_pages.append(sublist[start:end]) # 新增頁(yè)集合

        if last_count > 0:
            local_pages.append(sublist[-last_count:]) # 余數(shù)不為0,將作為最后一頁(yè)集合
    
    pass
                

def calcSize(d)->int:
    '''
    計(jì)算總條數(shù)
    '''
    size = 0
    for item in d:
        size += len(item["child"]) + 1
    return size

def printPage():
    '''
    打印頁(yè)面
    '''
    idx = 0
    for p in local_pages:
        idx += 1
        print("page:{}".format(idx))
        for item in p:
            print(item)


data = [{"id":"1",
         "name":"parent_1",
         "child":[
             {"id":"1_1",
              "name":"RS234326348264",
              "parent_id":"1"
              },
             {"id":"1_2",
              "name":"RS234326348264",
              "parent_id":"1"
              },
             {"id":"1_3",
              "name":"RS234326348264",
              "parent_id":"1"
              },
             {"id":"1_4",
              "name":"RS234326348264",
              "parent_id":"1"
              },
              {"id":"1_5",
              "name":"RS234326348264",
              "parent_id":"1"
              },
              {"id":"1_6",
              "name":"RS234326348264",
              "parent_id":"1"
              },
              {"id":"1_7",
              "name":"RS234326348264",
              "parent_id":"1"
              },
              {"id":"1_8",
              "name":"RS234326348264",
              "parent_id":"1"
              },
              {"id":"1_9",
              "name":"RS234326348264",
              "parent_id":"1"
              }]},

        {"id":"2",
         "name":"parent_2",
         "child":[
              {"id":"2_1",
              "name":"RS234326348264",
              "parent_id":"2"
              }]}]

print(f"首屏展示條數(shù):{initialSize}")
print(f"剩余頁(yè)展示條數(shù):{eachSize}")
makePage(data)
printPage()

打印結(jié)果

首屏展示條數(shù):2
剩余頁(yè)展示條數(shù):5
page:1
{'id': '1_1', 'name': 'RS234326348264', 'parent_id': '1'}
{'id': '1_2', 'name': 'RS234326348264', 'parent_id': '1'}
page:2
{'id': '1_3', 'name': 'RS234326348264', 'parent_id': '1'}
{'id': '1_4', 'name': 'RS234326348264', 'parent_id': '1'}
{'id': '1_5', 'name': 'RS234326348264', 'parent_id': '1'}
{'id': '1_6', 'name': 'RS234326348264', 'parent_id': '1'}
{'id': '1_7', 'name': 'RS234326348264', 'parent_id': '1'}
page:3
{'id': '1_8', 'name': 'RS234326348264', 'parent_id': '1'}
{'id': '1_9', 'name': 'RS234326348264', 'parent_id': '1'}
{'id': '2_1', 'name': 'RS234326348264', 'parent_id': '2'}

到此這篇關(guān)于一文教你使用Python實(shí)現(xiàn)本地分頁(yè)的文章就介紹到這了,更多相關(guān)Python本地分頁(yè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python利用matplotlib生成圖片背景及圖例透明的效果

    Python利用matplotlib生成圖片背景及圖例透明的效果

    這篇文章主要給大家介紹了Python利用matplotlib生成圖片背景及圖例透明效果的相關(guān)資料,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考家價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • python引入導(dǎo)入自定義模塊和外部文件的實(shí)例

    python引入導(dǎo)入自定義模塊和外部文件的實(shí)例

    下面小編就為大家?guī)?lái)一篇python引入導(dǎo)入自定義模塊和外部文件的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • python數(shù)據(jù)預(yù)處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法

    python數(shù)據(jù)預(yù)處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法

    下面小編就為大家?guī)?lái)一篇python數(shù)據(jù)預(yù)處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • 實(shí)例講解Python中的私有屬性

    實(shí)例講解Python中的私有屬性

    這篇文章主要介紹了Python中的私有屬性,本文用代碼實(shí)例來(lái)幫助理解私有屬性的一些技巧和使用方法,需要的朋友可以參考下
    2014-08-08
  • 利用Python?NumPy庫(kù)及Matplotlib庫(kù)繪制數(shù)學(xué)函數(shù)圖像

    利用Python?NumPy庫(kù)及Matplotlib庫(kù)繪制數(shù)學(xué)函數(shù)圖像

    最近開(kāi)始學(xué)習(xí)數(shù)學(xué)了,有一些題目的函數(shù)圖像非常有特點(diǎn),下面這篇文章主要給大家介紹了關(guān)于利用Python?NumPy庫(kù)及Matplotlib庫(kù)繪制數(shù)學(xué)函數(shù)圖像的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Python中pass的作用與使用教程

    Python中pass的作用與使用教程

    這篇文章主要給大家介紹了關(guān)于Python中pass的作用與使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python實(shí)現(xiàn)刪除列表首元素的多種方式總結(jié)

    Python實(shí)現(xiàn)刪除列表首元素的多種方式總結(jié)

    在Python中,處理列表的操作是日常開(kāi)發(fā)中不可避免的任務(wù)之一,其中,刪除列表中的元素是一個(gè)常見(jiàn)的需求,本文為大家整理了Python中刪除列表中的第一個(gè)元素的多種方法,需要的可以參考下
    2023-12-12
  • matplotlib實(shí)現(xiàn)熱成像圖colorbar和極坐標(biāo)圖的方法

    matplotlib實(shí)現(xiàn)熱成像圖colorbar和極坐標(biāo)圖的方法

    今天小編就為大家分享一篇matplotlib實(shí)現(xiàn)熱成像圖colorbar和極坐標(biāo)圖的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python將matplotlib嵌入到tkinter中的步驟詳解

    python將matplotlib嵌入到tkinter中的步驟詳解

    tkinter是Python標(biāo)準(zhǔn)庫(kù)中自帶的GUI工具,使用十分方便,如能將matplotlib嵌入到tkinter中,就可以做出相對(duì)專業(yè)的數(shù)據(jù)展示系統(tǒng),很有競(jìng)爭(zhēng)力,本文就給大家介紹python將matplotlib嵌入到tkinter中的方法步驟,需要的朋友可以參考下
    2023-08-08
  • Python字典遍歷的陷阱

    Python字典遍歷的陷阱

    這篇文章主要介紹了Python字典遍歷的陷阱,我們都知道,Python中常常按照key、value的形式來(lái)遍歷字典的items。若value是基本數(shù)據(jù)類型(int,float等),則是傳的拷貝,是不能直接修改value的,下面來(lái)看看文章的詳細(xì)內(nèi)容吧
    2021-12-12

最新評(píng)論