python pprint用法 pprint用法

2021-10-22 11:11:44 字數 1169 閱讀 9305

pprint模組 提供了列印出任何python資料結構類和方法。

模組方法:

class pprint.prettyprinter(indent=1,width=80,depth=none, stream=none)

建立乙個prettyprinter物件

indent --- 縮排,width --- 一行最大寬度,

depth --- 列印的深度,這個主要是針對一些可遞迴的物件,如果超出指定depth,其餘的用"..."代替。

eg: a=[1,2,[3,4,],5]  a的深度就是2; b=[1,2,[3,4,[5,6]],7,8] b的深度就是3

stream ---指輸出流物件,如果stream=none,那麼輸出流物件預設是sys.stdout

pprint.pformat(object,indent=1,width=80, depth=none)

返回格式化的物件字串

pprint.pprint(object,stream=none,indent=1, width=80, depth=none)

輸出格式的物件字串到指定的stream,最後以換行符結束。

pprint.isreadable(object)

判斷物件object的字串物件是否可讀

pprint.isrecursive(object)

判斷物件是否需要遞迴的表示

eg: pprint.isrecursive(a)  --->false

pprint.isrecursive([1,2,3])-->true

pprint.saferepr(object)

返回乙個物件字串,物件中的子物件如果是可遞迴的,都被替換成.這種形式。

prettyprinter 物件具有的方法與上面類似,不在贅述。

importpprint

data=("this is a string", [1, 2, 3, 4], ("more tuples",1.0, 2.3, 4.5), "this is yet another string")

pprint.pprint(data)

輸出:('this is a string',

[1, 2, 3, 4],

('more tuples', 1.0, 2.3, 4.5),'this is yet another string')

線段樹 P4588 線段樹用法

簡單來說就是使用線段樹來儲存操作步驟,因為如果直接計算的話long long會溢位,所以建立乙個 1,q 的線段樹,使用線段樹的葉子節點來表示權值,非葉子節點表示操作過程 開始的時候線段樹的葉子節點初始化為1,而非葉子節點c k c k 1 c k 1 1 mod 也為1。當開始進行操作的時候,如果...

P4139 上帝與集合的正確用法

根據一些書上的記載,上帝的一次失敗的創世經歷是這樣的 第一天,上帝創造了乙個世界的基本元素,稱做 元 第二天,上帝創造了乙個新的元素,稱作 被定義為 元 構成的集合。容易發現,一共有兩種不同的 第三天,上帝又創造了乙個新的元素,稱作 被定義為 構成的集合。容易發現,一共有四種不同的 第四天,上帝創造...

P1030 求先序排列 substr的用法

給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度 le 8 8 輸入格式 22行,均為大寫字母組成的字串,表示一棵二叉樹的中序與後序排列。輸出格式 11行,表示一棵二叉樹的先序。輸入樣例 1 複製 badc bdca輸出樣例 1 複製 abcd方法 模板概括為s...