Python的map函数:10个实际应用示例
Python中的map()函数是一种非常有用的内置函数,它的作用是将一个函数应用于一个可迭代对象(例如列表、元组、字典等),并返回一个新的可迭代对象。在本篇文章中,我将分享10个实际应用示例,以帮助您更好地理解和使用map()函数。
1. 使用map()函数将一个列表中的每个元素都转为字符串:
nums = [1, 2, 3, 4, 5] str_nums = list(map(str, nums)) print(str_nums) # 输出:['1', '2', '3', '4', '5']
这个例子演示了如何使用map()函数将一个整数列表转为字符串列表。
2. 使用map()函数将一个字符串列表中的每个元素都转为大写:
words = ['apple', 'banana', 'cherry'] upper_words = list(map(str.upper, words)) print(upper_words) # 输出:['APPLE', 'BANANA', 'CHERRY']
这个例子展示了如何使用map()函数将一个字符串列表中的每个元素都转为大写。
3. 使用map()函数将一个二维列表的每个元素都转为整数:
matrix = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']] int_matrix = list(map(lambda x: list(map(int, x)), matrix)) print(int_matrix) # 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
这个例子展示了如何使用嵌套的map()函数将一个二维列表的每个元素都转为整数。
4. 使用map()函数计算列表中每个元素的平方:
nums = [1, 2, 3, 4, 5] squared_nums = list(map(lambda x: x**2, nums)) print(squared_nums) # 输出:[1, 4, 9, 16, 25]
这个例子演示了如何使用map()函数计算一个列表中每个元素的平方。
5. 使用map()函数将一个字典中的每个值都乘以2:
prices = {'apple': 1, 'banana': 2, 'cherry': 3}
double_prices = dict(map(lambda x: (x[0], x[1]*2), prices.items()))
print(double_prices)
# 输出:{'apple': 2, 'banana': 4, 'cherry': 6}
这个例子展示了如何使用map()函数将一个字典中的每个值都乘以2。
6. 使用map()函数将一个列表中的每个元素与对应位置的元素相加:
nums1 = [1, 2, 3, 4, 5] nums2 = [10, 20, 30, 40, 50] sum_nums = list(map(lambda x, y: x+y, nums1, nums2)) print(sum_nums) # 输出:[11, 22, 33, 44, 55]
这个例子演示了如何使用map()函数将两个列表中对应位置的元素相加。
7. 使用map()函数将一个字符串列表中的每个元素拼接成一个句子:
words = ['I', 'love', 'Python'] sentence = ' '.join(map(str, words)) print(sentence) # 输出:'I love Python'
这个例子展示了如何使用map()函数将一个字符串列表中的每个元素拼接成一个句子。
8. 使用map()函数将一个二维列表中的每一行都转为字符串:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] str_matrix = list(map(lambda x: ' '.join(map(str, x)), matrix)) print(str_matrix) # 输出:['1 2 3', '4 5 6', '7 8 9']
这个例子演示了如何使用map()函数将一个二维列表中的每一行都转为字符串。
9. 使用map()函数将一个列表中的元素都乘以自身的索引:
nums = [1, 2, 3, 4, 5] indexed_nums = list(map(lambda x, i: x*i, nums, range(len(nums)))) print(indexed_nums) # 输出:[0, 2, 6, 12, 20]
这个例子展示了如何使用map()函数将一个列表中的元素都乘以自身的索引。
10. 使用map()函数将一个二维列表中的每个元素都转为字符串,并且忽略其中的空值:
matrix = [[1, None, 3], [4, 5, None], [None, 8, 9]] str_matrix = list(map(lambda x: ' '.join(map(str, filter(None, x))), matrix)) print(str_matrix) # 输出:['1 3', '4 5', '8 9']
这个例子演示了如何使用map()函数将一个二维列表中的每个元素都转为字符串,并且忽略其中的空值。
总结:
上面这些实际应用示例只是map()函数的冰山一角。map()函数在Python中的应用非常广泛,可以根据具体的需求进行灵活的使用。希望这篇文章能够帮助您更好地理解和利用map()函数。
