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

使用 Python 的 pprint庫格式化和輸出列表和字典的方法

 更新時間:2023年05月16日 11:08:43   作者:田辛 | 田豆芽  
pprint是"pretty-print"的縮寫,使用 Python 的標準庫 pprint 模塊,以干凈的格式輸出和顯示列表和字典等對象,這篇文章主要介紹了如何使用 Python 的 pprint庫格式化和輸出列表和字典,需要的朋友可以參考下

這兩天, 田辛老師在進行幾個OpenCV的項目, 涉及到大量的dict以及l(fā)ist內(nèi)容的輸出。 不多不說, python的print函數(shù)對于字典和列表的表示并不友好。 在此時,我們可以通過使用 Python 的標準庫 pprint 模塊,以干凈的格式輸出和顯示列表和字典等對象。pprint 是“pretty-print”的縮寫。

1 pprint的基本用法

普通print()函數(shù)將列表和字典的元素打印在一行上,沒有換行符。例如,如下代碼:

point_lst = [{'Name': '田辛', 'Age': 40, 'Points': [80, 20]}, {'Name': '張三', 'Age': 20, 'Points': [90, 10]},  
             {'Name': '李四', 'Age': 30, 'Points': [70, 30]}]
print(point_lst)
[{'Name': '田辛', 'Age': 40, 'Points': [80, 20]}, {'Name': '張三', 'Age': 20, 'Points': [90, 10]}, {'Name': '李四', 'Age': 30, 'Points': [70, 30]}]
進程已結(jié)束,退出代碼0

這個輸出其實是相當不友好的。 這個list但凡長一點看起來就非常的麻煩, 那么這種情況下使用pprint的方法就很方便:

pprint.pprint(point_lst)

輸出的結(jié)果是:

[{'Age': 40, 'Name': '田辛', 'Points': [80, 20]},
 {'Age': 20, 'Name': '張三', 'Points': [90, 10]},
 {'Age': 30, 'Name': '李四', 'Points': [70, 30]}]

進程已結(jié)束,退出代碼0

2 指定輸出寬度(字符數(shù)):

width

2.1 例子:

pprint.pprint(point_lst, width=40)

輸出結(jié)果是:

[{'Age': 40,
  'Name': '田辛',
  'Points': [80, 20]},
 {'Age': 20,
  'Name': '張三',
  'Points': [90, 10]},
 {'Age': 30,
  'Name': '李四',
  'Points': [70, 30]}]

進程已結(jié)束,退出代碼0

2.2 特殊說明

如果你給的width值特別大, 比如400, 那么這個時候pprint會和print沒有區(qū)別。

pprint.pprint(point_lst, width=400)

輸出結(jié)果是:

[{'Age': 40, 'Name': '田辛', 'Points': [80, 20]}, {'Age': 20, 'Name': '張三', 'Points': [90, 10]}, {'Age': 30, 'Name': '李四', 'Points': [70, 30]}]

進程已結(jié)束,退出代碼0

2.3 默認換行

默認情況下width會自動檢查列表或者字典的元素是否適合輸出, 如果不適合的話,他們將被換行。

pprint.pprint(list(range(10)))  
pprint.pprint(list(range(1000000, 1000010)))

輸出結(jié)果是:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1000000,
 1000001,
 1000002,
 1000003,
 1000004,
 1000005,
 1000006,
 1000007,
 1000008,
 1000009]

進程已結(jié)束,退出代碼0

2.4 緊湊換行:

compact=True

在默認換行中, 如果產(chǎn)生換行,列表的每個元素都會換行。 有的時候, 這種換行顯示會過長。 在這種情況下, 可以使用緊湊換行。

pprint.pprint(list(range(1000000, 1000020)), compact=True)

輸出結(jié)果是:

[1000000, 1000001, 1000002, 1000003, 1000004, 1000005, 1000006, 1000007,
 1000008, 1000009, 1000010, 1000011, 1000012, 1000013, 1000014, 1000015,
 1000016, 1000017, 1000018, 1000019]

進程已結(jié)束,退出代碼0

3 指定要打印的元素的深度:

depth

您可以指定要輸出的元素的深度depth作為參數(shù)。這里的深度就是嵌套數(shù)據(jù)的深度。

pprint.pprint(point_lst, depth=1)  
pprint.pprint(point_lst, depth=2)

輸出結(jié)果是:

[{...}, {...}, {...}]
[{'Age': 40, 'Name': '田辛', 'Points': [...]},
 {'Age': 20, 'Name': '張三', 'Points': [...]},
 {'Age': 30, 'Name': '李四', 'Points': [...]}]

進程已結(jié)束,退出代碼0

查看上面的執(zhí)行結(jié)果, 你會發(fā)現(xiàn), 對于超出depth深度的部分, 會直接用...表示。

4 制定縮進的寬度:

indent

通過設(shè)定indent可以指定縮進, 默認縮進為1, 讀者可以仔細看剛的例子中, 第二行會有一個字符的縮進哦。

pprint.pprint(point_lst, width=4, indent=4)

輸出結(jié)果是:

[   {   'Age': 40,
        'Name': '田辛',
        'Points': [   80,
                      20]},
    {   'Age': 20,
        'Name': '張三',
        'Points': [   90,
                      10]},
    {   'Age': 30,
        'Name': '李四',
        'Points': [   70,
                      30]}]

進程已結(jié)束,退出代碼0

5 全部代碼

老規(guī)矩, 全部代碼奉上:

#!/usr/bin/env python  
# -*- coding:utf-8 -*-  
"""  
#-----------------------------------------------------------------------------  
#                     --- TDOUYA STUDIOS ---  
#-----------------------------------------------------------------------------  
#  
# @Project : di08-tdd-cdg-python-learning  
# @File    : pprint_learning.py  
# @Author  : tianxin.xp@gmail.com  
# @Date    : 2023/4/15 17:16  
#  
# pprint 示例程序  
#  
#--------------------------------------------------------------------------"""  
import pprint  
point_lst = [{'Name': '田辛', 'Age': 40, 'Points': [80, 20]}, {'Name': '張三', 'Age': 20, 'Points': [90, 10]},  
             {'Name': '李四', 'Age': 30, 'Points': [70, 30]}]  
print(point_lst)  
pprint.pprint(point_lst)  
pprint.pprint(point_lst, width=40)  
pprint.pprint(point_lst, width=400)  
pprint.pprint(list(range(10)))  
pprint.pprint(list(range(1000000, 1000010)))  
pprint.pprint(list(range(1000000, 1000020)), compact=True)  
pprint.pprint(point_lst, depth=1)  
pprint.pprint(point_lst, depth=2)  
pprint.pprint(point_lst, width=4, indent=4)

到此這篇關(guān)于如何使用 Python 的 pprint庫格式化和輸出列表和字典的文章就介紹到這了,更多相關(guān)Python pprint庫格式化和輸出列表和字典內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python開發(fā)中常用操作方法代碼匯總筆記

    Python開發(fā)中常用操作方法代碼匯總筆記

    Python具有易學(xué)、易用、易擴展、可移植性強等特點,被廣泛應(yīng)用于數(shù)據(jù)分析、人工智能、Web開發(fā)、自動化測試等領(lǐng)域。Python在使用過程中也會遇到一些常見技術(shù)問題,本文匯總Python開發(fā)中實用操作方法代碼筆記。
    2023-06-06
  • Tensorflow中tf.ConfigProto()的用法詳解

    Tensorflow中tf.ConfigProto()的用法詳解

    今天小編就為大家分享一篇Tensorflow中tf.ConfigProto()的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python發(fā)送網(wǎng)絡(luò)請求(requests)

    Python發(fā)送網(wǎng)絡(luò)請求(requests)

    這篇文章主要介紹了Python發(fā)送網(wǎng)絡(luò)請求(requests),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python工廠方法模式原理與實現(xiàn)

    python工廠方法模式原理與實現(xiàn)

    大家好,本篇文章主要講的是python工廠方法模式原理與實現(xiàn),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Django獲取應(yīng)用下的所有models的例子

    Django獲取應(yīng)用下的所有models的例子

    今天小編就為大家分享一篇Django獲取應(yīng)用下的所有models的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python3連接SQLServer、Oracle、MySql的方法

    Python3連接SQLServer、Oracle、MySql的方法

    這篇文章較詳細的給大家介紹了Python3連接SQLServer、Oracle、MySql的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-06-06
  • 自動在Windows中運行Python腳本并定時觸發(fā)功能實現(xiàn)

    自動在Windows中運行Python腳本并定時觸發(fā)功能實現(xiàn)

    講一下在Python中寫好了一個腳本之后,怎么自動雙擊一個程序自動就跑起來。以及,怎么在Windows 10中設(shè)計定期定時觸發(fā)并跑腳本,有需要的朋友可以參考下
    2021-09-09
  • Python統(tǒng)計詞頻的幾種方法小結(jié)

    Python統(tǒng)計詞頻的幾種方法小結(jié)

    本文主要介紹了Python統(tǒng)計詞頻的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • selenium+PhantomJS爬取豆瓣讀書

    selenium+PhantomJS爬取豆瓣讀書

    這篇文章主要為大家詳細介紹了selenium+PhantomJS爬取豆瓣讀書,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 使用Python實現(xiàn)操作mongodb詳解

    使用Python實現(xiàn)操作mongodb詳解

    這篇文章主要為大家詳細介紹了使用Python實現(xiàn)操作mongodb的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01

最新評論

光山县| 信阳市| 昌乐县| 汉沽区| 盐山县| 恩施市| 自治县| 边坝县| 舞阳县| 河北区| 绥德县| 维西| 芷江| 慈溪市| 中西区| 双江| 南昌市| 杨浦区| 郑州市| 三原县| 永寿县| 孝感市| 三台县| 剑河县| 荆门市| 清水县| 子洲县| 岳池县| 泰来县| 崇阳县| 陇川县| 仪征市| 海原县| 祁连县| 胶南市| 修武县| 申扎县| 合水县| 宝山区| 延吉市| 宁海县|