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 函数的使用,希望能对大家有所帮助。