簡體   English   中英

在python中存儲或打印巨大的字典

[英]Store or print a huge dictionary in python

我正在處理一個巨大的字典FPKM,它有〜20個鍵,但是每個鍵都有〜100萬個值的列表。 我試圖使用print(FPKM)來打印所有內容,但它只打印鍵。 有什么問題嗎? 我也想腌制這個FPKM對象,但事實證明,只有密鑰存儲在腌制文件中。


親愛的大家,我不得不為我的情況不對道歉。 我做了

打印(已排序(FPKM))

如果我這樣做,它只會打印鍵

fpkm = sorted(FPKM)

列印(fpkm)

有效。 對於泡菜,情況與此類似,我使用“已排序”而不是純對象名稱。

非常感謝您的回答。

練習使用小型詞典,並驗證大型詞典的行為類似:

#! /usr/bin/env python3

d = {'foo': [1, 2],
     'bar': [3, 4]}
print(type(d))
for k, v in d.items():
    print(k, v)

我試圖使用print(FPKM)來打印所有內容,但它只打印鍵。

我不這么認為。

a = {'hello': 'world'}
print(a) # The entire dictionary is printed {'hello': 'world'}

我也想腌制這個FPKM對象,但事實證明,只有密鑰存儲在腌制文件中。

請參閱如何使用泡菜保存字典?

import pickle
a = {'hello': 'world'}
with open('filename.pickle', 'wb') as f:
    pickle.dump(a, f, protocol=pickle.HIGHEST_PROTOCOL)

with open('filename.pickle', 'rb') as f:
    b = pickle.load(f)

print(a == b) # True
print(b) # The original dictionary persists {'hello': 'world'}

我試圖使用print(FPKM)來打印所有內容,但它只打印鍵。

可以說這些是FPKM的內容:

FPKM = {'one': 1,
        'two': 2,
        'three': 3
}

如果FPKM是字典,則打印它應該像這樣打印完整的字典。

{'one': 1, 'two': 2, 'three': 3}

確保您沒有做這樣的事情。

for key in FPKM:
    print(key)

那會打印:

one
two
three

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM