1.map(function,iterable):会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
示例1:
lst = [1,2,3,4,5]result = map(lambda x : x**2 ,lst) print(type(result))print(result)print(list(result)) #输出 <class 'map'>#输出 <map object at 0x000001DFFA442470>#输出 [1,4,9,16,25]示例2:
#假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:
def f(s):
return s[0:1].upper() + s[1:].lower()
lst = ['lll', 'lKK', 'wXy']
ret = map(f, lst)
print(type(ret))
print(ret)
print(list(ret))
输出结果:
# <class 'map'>
# <map object at 0x0000000005EE2E48>
# ['Lll', 'Lkk', 'Wxy']
示例3:
#如下列表,每个小字典的name对应股票名字,shares对应多少股,price对应股票的价格
1、
print(list(ret))
输出结果:
# [{'IBM': 9110.0}, {'AAPL': 27161.0}, {'FB': 4218.0}, {'HPQ': 1111.25}, {'YHOO': 735.75}, {'ACME': 8673.75}]
2、用filter过滤出,单价大于100的股票有哪些
print(list(ret))
输出结果:
# [{'name': 'AAPL', 'shares': 50, 'price': 543.22}, {'name': 'ACME', 'shares': 75, 'price':115.65}]
2.filter(function,iterable):筛选函数;函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
def func(x): return x % 2 == 0req = filter(func,range(10))print(req)#输出 [2,4,6,8] |