如何从dict返回某些键、值并打印新dict

2024-10-01 07:13:45 发布

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

我的评估是,我需要返回dict_studenten_cijfers词典中分数高于9的学生。现在我正在打印新的结果,但评估正在返回

我试过了,但当我试图返回它时,它无法工作,它变成了一个类(元组),但它也需要作为一个类字典打印出来

评估是返回新词典列表,并将词典打印为类dict

def hoogvliegers(dict_studenten_cijfers):
    for key,value in dict_studenten_cijfers.items():
        if value >= 9.00:
            print(f"{key} heeft cijfer {value}.")

dict_studenten_cijfers = {
    'jonas': 9.2,
    'mustafa': 5.5,
    'mahmut': 6.0,
    'ahmed': 7.0,
    'ali': 6.0,
    'emma': 9.0,
    'klaas': 10.0,
    'pieter': 8.0,
    'peter': 7.0,
    'floris': 9.0,
    'jakob': 8.0,
    'mohammed': 10.0
}

hoogvliegers(dict_studenten_cijfers)

Tags: keyin列表for字典valuedef学生
3条回答

试一试

dict_studenten_cijfers = {
    'jonas': 9.2,
    'mustafa': 5.5,
    'mahmut': 6.0,
    'ahmed': 7.0,
    'ali': 6.0,
    'emma': 9.0,
    'klaas': 10.0,
    'pieter': 8.0,
    'peter': 7.0,
    'floris': 9.0,
    'jakob': 8.0,
    'mohammed': 10.0
}
gt_9 = [k for k,v in dict_studenten_cijfers.items() if v > 9]
print(gt_9)

输出

['jonas', 'klaas', 'mohammed']
dict_studenten_cijfers = {
'jonas': 9.2,
'mustafa': 5.5,
'mahmut': 6.0,
'ahmed': 7.0,
'ali': 6.0,
'emma': 9.0,
'klaas': 10.0,
'pieter': 8.0,
'peter': 7.0,
'floris': 9.0,
'jakob': 8.0,
'mohammed': 10.0
}
def hoogvliegers(dct):
    return {k:v for k,v in dct.items() if v>=9}

hoogvliegers(dict_studenten_cijfers)

此方法使用非常方便的“dict comprehension”,在这里,您迭代每个key,valuedct.items(),并返回一个dictionary,其唯一值是大于或等于9级的值

输出:

{'emma': 9.0, 'floris': 9.0, 'jonas': 9.2, 'mohammed': 10.0, 'klaas': 10.0}

你可以像这样使用听写理解

def hoogvliegers(d):
    # .iteritems() for python 2.x, .items() for python 3.x
    filtered_dict = {k:v for k,v in d.iteritems() if v >= 9.0}
    return filtered_dict


dict_studenten_cijfers = {
    'jonas': 9.2,
    'mustafa': 5.5,
    'mahmut': 6.0,
    'ahmed': 7.0,
    'ali': 6.0,
    'emma': 9.0,
    'klaas': 10.0,
    'pieter': 8.0,
    'peter': 7.0,
    'floris': 9.0,
    'jakob': 8.0,
    'mohammed': 10.0
}

print(hoogvliegers(dict_studenten_cijfers))

相关问题 更多 >