打印漂亮的Python列表

2024-04-27 10:35:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张很糟糕的名单,里面有一些可能性。 这张单子里有一本字典。 我只需要为每个值打印本词典中概率最高的值

这是我的名单

[{'VERB': {'word': 'ἐπειδὰν', 'prob': 1.4360404322063438e-06, 'backpointer': None}, 
'X': {'word': 'ἐπειδὰν', 'prob': 4.35691878703381e-09, 'backpointer': None}, 
'INTJ': {'word': 'ἐπειδὰν', 'prob': 1.7514813523875917e-07, 'backpointer': None}, 
'CCONJ': {'word': 'ἐπειδὰν', 'prob': 4.6096200766817706e-07, 'backpointer': None}, 
'PUNCT': {'word': 'ἐπειδὰν', 'prob': 0.0, 'backpointer': None}, 
'DET': {'word': 'ἐπειδὰν', 'prob': 5.446148483792262e-07, 'backpointer': None}, 
'PRON': {'word': 'ἐπειδὰν', 'prob': 1.7793656326246081e-06, 'backpointer': None}, 
'ADP': {'word': 'ἐπειδὰν', 'prob': 4.566050888811433e-07, 'backpointer': None},
'SCONJ': {'word': 'ἐπειδὰν', 'prob': 1.4776321081702159e-05, 'backpointer': None}}]

在这种情况下,我希望在输出中打印的是:

{'word': 'ἐπειδὰν', 'upos': 'SCONJ', 'prob': 1.4776321081702159e-05, 'backpointer': NONE}

这就是我尝试过的:

outuput_dict = dict()
for element in my_list:
    for e in element.values():
        if e['prob'] > e['prob' + 1]:
           output_dict = {'word': e, 'prob': e['prob']}

但它不起作用

以下是完整的列表:

[{'VERB': {'word': 'ἐπειδὰν', 'prob': 1.4360404322063438e-06, 'backpointer': None}, 
'X': {'word': 'ἐπειδὰν', 'prob': 4.35691878703381e-09, 'backpointer': None}, 
'INTJ': {'word': 'ἐπειδὰν', 'prob': 1.7514813523875917e-07, 'backpointer': None}, 
'CCONJ': {'word': 'ἐπειδὰν', 'prob': 4.6096200766817706e-07, 'backpointer': None}, 
'PUNCT': {'word': 'ἐπειδὰν', 'prob': 0.0, 'backpointer': None}, 
'DET': {'word': 'ἐπειδὰν', 'prob': 5.446148483792262e-07, 'backpointer': None}, 
'PRON': {'word': 'ἐπειδὰν', 'prob': 1.7793656326246081e-06, 'backpointer': None}, 
'ADP': {'word': 'ἐπειδὰν', 'prob': 4.566050888811433e-07, 'backpointer': None},
'SCONJ': {'word': 'ἐπειδὰν', 'prob': 1.4776321081702159e-05, 'backpointer': None}},
{'word': 'δὲ', 'VERB': {'word': 'δὲ', 'prob': 3.385314691598631e-11, 'backpointer': 'SCONJ'},
'ADJ': {'word': 'δὲ', 'prob': 1.0218141457581168e-11, 'backpointer': 'SCONJ'}, 
'PART': {'word': 'δὲ', 'prob': 5.355221843863726e-07, 'backpointer': 'SCONJ'}, 
'NOUN': {'word': 'δὲ', 'prob': 1.1639795921244636e-11, 'backpointer': 'SCONJ'}, 
'NUM': {'word': 'δὲ', 'prob': 8.88534039789667e-14, 'backpointer': 'SCONJ'}, 
'ADV': {'word': 'δὲ', 'prob': 1.5616333140156954e-07, 'backpointer': 'SCONJ'}}]

Tags: nonefordictworddetverb名单adp
1条回答
网友
1楼 · 发布于 2024-04-27 10:35:23

只需将max与自定义键函数一起使用即可:

my_list = [{'VERB': {'word': 'ἐπειδὰν', 'prob': 1.4360404322063438e-06, 'backpointer': None}, 
'X': {'word': 'ἐπειδὰν', 'prob': 4.35691878703381e-09, 'backpointer': None}, 
'INTJ': {'word': 'ἐπειδὰν', 'prob': 1.7514813523875917e-07, 'backpointer': None}, 
'CCONJ': {'word': 'ἐπειδὰν', 'prob': 4.6096200766817706e-07, 'backpointer': None}, 
'PUNCT': {'word': 'ἐπειδὰν', 'prob': 0.0, 'backpointer': None}, 
'DET': {'word': 'ἐπειδὰν', 'prob': 5.446148483792262e-07, 'backpointer': None}, 
'PRON': {'word': 'ἐπειδὰν', 'prob': 1.7793656326246081e-06, 'backpointer': None}, 
'ADP': {'word': 'ἐπειδὰν', 'prob': 4.566050888811433e-07, 'backpointer': None},
'SCONJ': {'word': 'ἐπειδὰν', 'prob': 1.4776321081702159e-05, 'backpointer': None}}]

for d in my_list:
    print(max(d.values(), key=lambda x: x["prob"]))

相关问题 更多 >