最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python對ip地址進行排序、分類的方法詳解

 更新時間:2023年07月26日 08:40:17   作者:IT之一小佬  
這篇文章主要介紹了python對ip地址進行排序、分類的方法詳解,IP協(xié)議全稱為“網(wǎng)際互連協(xié)議Internet?Protocol”,IP協(xié)議是TCP/IP體系中的網(wǎng)絡(luò)層協(xié)議,需要的朋友可以參考下

1、使用socket庫對ip進行排序

示例代碼:

import socket
ip_list = ['10.5.11.1', '192.168.1.33', '10.5.2.4', '10.5.1.3', '10.5.11.13', '10.5.11.12', '10.5.1.1', '10.5.1.2',
          '10.5.1.11', '10.5.1.13']
print(sorted(ip_list, key=socket.inet_aton))
for i in sorted(ip_list, key=socket.inet_aton):
    print(i)

運行結(jié)果:

2、使用sort()函數(shù)構(gòu)造排序

示例代碼:

ip_list = ['192.168.1.33', '10.5.2.4', '10.5.1.3', '202.98.96.68', '133.120.1.1', '192.168.1.22']
print(sorted(ip_list, key=lambda x: (int(x.split('.')[0]), int(x.split('.')[1]), int(x.split('.')[2]))))
ip_lst = sorted(ip_list, key=lambda x: (int(x.split('.')[0]), int(x.split('.')[1]), int(x.split('.')[2])))
for i in ip_lst:
    print(i)

運行結(jié)果:

3、對ip地址進行分類

如:這兒按最后一位進行分類,寫入不同的文件中。此處忽略對ip地址的排序。

示例代碼:

ip_list = ['192.168.1.33', '10.5.2.4', '10.5.1.3', '202.98.96.68', '133.120.1.1', '192.168.1.22']
for ip in ip_list:
    last_ip_num = ip.split('.')[-1]
    with open('data/xxx.xxx.xxx.{}.txt'.format(last_ip_num), 'a', encoding='utf-8') as f:
        f.write(ip)

運行結(jié)果:

優(yōu)化上述代碼,當(dāng)ip_list列表中有數(shù)以億計的ip時,上述代碼效率是非常低的,耗時主要在打開文件寫數(shù)據(jù)方面,可以把每一類ip先暫時存儲,最終一次性寫入文件中。

示例代碼:

ip_list = ['192.168.1.33', '10.5.2.33', '10.5.1.33', '202.98.96.1', '133.120.1.1', '192.168.1.1']
ip_dic_save = {}
for ip in ip_list:
    last_ip_num = ip.split('.')[-1]
    if f'xxx.xxx.xxx.{last_ip_num}.txt' not in ip_dic_save:
        ip_dic_save[f'xxx.xxx.xxx.{last_ip_num}.txt'] = []
        ip_dic_save[f'xxx.xxx.xxx.{last_ip_num}.txt'].append(ip + ';')
    else:
        ip_dic_save[f'xxx.xxx.xxx.{last_ip_num}.txt'].append(ip + ';')
print(ip_dic_save)
path = 'data/'
for key, value in ip_dic_save.items():
    with open(path + key, 'a', encoding='utf-8') as f:
        f.writelines(value)

運行結(jié)果:

如果數(shù)據(jù)量過大,ip_dic_save會占用較大內(nèi)存,可以對字典中的每個key:value鍵值對進行判斷,若value列表長度到達某個長度時,可以分批次寫入到文件中。

到此這篇關(guān)于python對ip地址進行排序、分類的方法詳解的文章就介紹到這了,更多相關(guān)python對ip排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實戰(zhàn)之實現(xiàn)截圖識別文字

    Python實戰(zhàn)之實現(xiàn)截圖識別文字

    本文主要介紹了通過python實現(xiàn)截圖識別圖中文字的功能,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以學(xué)習(xí)一下
    2021-11-11
  • python3 mmh3安裝及使用方法

    python3 mmh3安裝及使用方法

    這篇文章主要介紹了python3 mmh3安裝及使用方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • python迭代器模塊itertools常用的方法

    python迭代器模塊itertools常用的方法

    這篇文章主要介紹了python迭代器模塊itertools常用的方法,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • python3實現(xiàn)點餐系統(tǒng)

    python3實現(xiàn)點餐系統(tǒng)

    這篇文章主要為大家詳細介紹了python3實現(xiàn)點餐系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 利用Python yagmail三行代碼實現(xiàn)發(fā)送郵件

    利用Python yagmail三行代碼實現(xiàn)發(fā)送郵件

    這篇文章主要給大家介紹了關(guān)于利用Python yagmail三行代碼實現(xiàn)發(fā)送郵件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Python利用matplotlib.pyplot.boxplot()繪制箱型圖實例代碼

    Python利用matplotlib.pyplot.boxplot()繪制箱型圖實例代碼

    相信大家應(yīng)該都知道Python繪制箱線圖主要用matplotlib庫里pyplot模塊里的boxplot()函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib.pyplot.boxplot()繪制箱型圖的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • selenium+python配置chrome瀏覽器的選項的實現(xiàn)

    selenium+python配置chrome瀏覽器的選項的實現(xiàn)

    這篇文章主要介紹了selenium+python配置chrome瀏覽器的選項的實現(xiàn)。文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 如何處理json中不帶雙引號的key的問題

    如何處理json中不帶雙引號的key的問題

    這篇文章主要介紹了如何處理json中不帶雙引號的key的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • python多線程semaphore實現(xiàn)線程數(shù)控制的示例

    python多線程semaphore實現(xiàn)線程數(shù)控制的示例

    這篇文章主要介紹了python多線程semaphore實現(xiàn)線程數(shù)控制的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Django-Model數(shù)據(jù)庫操作(增刪改查、連表結(jié)構(gòu))詳解

    Django-Model數(shù)據(jù)庫操作(增刪改查、連表結(jié)構(gòu))詳解

    這篇文章主要介紹了Django-Model數(shù)據(jù)庫操作(增刪改查、連表結(jié)構(gòu))詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07

最新評論

晋江市| 都兰县| 龙州县| 溧水县| 晋宁县| 阿尔山市| 西昌市| 常州市| 南召县| 万山特区| 临漳县| 德州市| 天峨县| 恩施市| 特克斯县| 阜宁县| 枣强县| 酒泉市| 中阳县| 林西县| 林芝县| 若羌县| 天气| 伊宁县| 仲巴县| 北海市| 明溪县| 丽水市| 常熟市| 滦南县| 三台县| 东海县| 拉萨市| 内乡县| 湟源县| 安阳市| 鄂尔多斯市| 老河口市| 邮箱| 武冈市| 淳化县|