python字典dict中常用内置函数的使用

  • Post category:Python

Python 字典(dict)中常用内置函数的使用

Python 字典(dict)是一种无序、可变、键-值对(key-value)集合。在字典中,键必须是不可变的,唯一的,而值则可以是任意的对象。这篇攻略将会详细讲解 Python 字典(dict)中常用内置函数的使用。

1. 筛选(过滤)函数(filter)

在 Python 3.x 中,字典(dict)对象的 filter 函数可以根据指定的函数过滤出字典(dict)中满足条件的项,并将这些项以字典(dict)的形式返回。下面是 filter 函数的语法:

filter(function, iterable)

其中,function 是用来筛选的函数,iterable 是待筛选的可迭代对象,可以是字典(dict)、列表(list)、元组(tuple)等。

示例1

scores = {'Tom': 85, 'Mike': 89, 'Bob': 80, 'Jerry': 91}

# 定义函数用来统计分数大于等于90分的学生
def score_greater90(item):
    return scores[item] >= 90

# 调用 filter 函数筛选分数大于等于90分的学生,并将结果以字典形式返回
result = dict(filter(score_greater90, scores))
print(result)

输出结果为:

{'Mike': 89, 'Jerry': 91}

上面的示例中,在 scores 字典中定义了4个学生及其分数。使用 filter 函数筛选出分数大于等于90分的学生,并将结果以字典的形式返回。注意,在 filter 函数中传入的是 score_greater90 函数的引用,该函数用来筛选分数大于等于90分的学生。

2. 映射函数(map)

在 Python 3.x 中,字典(dict)对象的 map 函数可以根据指定的函数将字典(dict)的值进行转换,并将转换后的值以字典形式返回。

map(function, iterable)

其中,function 是用来映射的函数,iterable 是待映射的可迭代对象,可以是字典(dict)、列表(list)、元组(tuple)等。

示例2

scores = {'Tom': 85, 'Mike': 89, 'Bob': 80, 'Jerry': 91}

# 定义函数用来将分数89分以上的学生升一级
def promote_student(item):
    if scores[item] >= 89:
        return item, scores[item] + 10
    else:
        return item, scores[item]

# 调用 map 函数将分数89分以上的学生升一级,并将结果以字典形式返回
result = dict(map(promote_student, scores))
print(result)

输出结果为:

{'Tom': 85, 'Mike': 99, 'Bob': 80, 'Jerry': 101}

上面的示例中,在 scores 字典中定义了4个学生及其分数。使用 map 函数将分数89分以上的学生升一级,并将结果以字典的形式返回。注意,在 map 函数中传入的是 promote_student 函数的引用,该函数用来对分数89分以上的学生进行升级操作。

结语

本篇攻略详细讲解了 Python 字典(dict)中常用内置函数 filter 函数和 map 函数的使用,希望能对大家有所帮助。