python 3.6.5 map() max() lambda匿名函数

sample:  

 

map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表

map(function, iterable, ...)
  • function -- 函数,有两个参数
  • iterable -- 一个或多个序列
 

Python 2.x 返回列表。

Python 3.x 返回迭代器

python 3.x 中map函数返回的是 迭代器对象,无法像python2.x 直接返回一个list对象,假如需要:list(map(func,iterable))


def func(num):
if isinstance(num, int):
num = num + 1
return num

print(list(map(func, [1, 2, 3, 4, 5, 6])))
print(map(func, [1, 2, 3, 4, 5, 6]))
# [2, 3, 4, 5, 6, 7]
# < map object at 0x0000000002210C88 >


def func(num):
return num ** 2

iter_func = map(func, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(iter_func)
# < map object at 0x00000000021D0D30 >
for item in iter_func:
print(item, end=' ')
print()

# 1
# 4
# 9
# 16
# 25
# 36
# 49
# 64
# 81

iter_func = map(func, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(list(iter_func))
# [1, 4, 9, 16, 25, 36, 49, 64, 81]


def fun(x, y, z):
return x * y * z
iter_fun = map(fun, [1, 2, 3], [1, 2, 3], [1, 2, 3])
print(iter_fun)
# < map object at 0x0000000002220E48 >
print(list(iter_fun))
# [1, 8, 27]


s = [1, 2, 3]
print(list(map(lambda x: x + 1, s)))
# >>>[2,3,4]


str = "azthis is really a string example....wow!!!"
print("Max character: " + max(str))
# Max character: z

str = "this is a string example....wow!!!"
print("Max character: " + max(str))
# Max character: x





s = [1, 2, 3]
print(list(map(lambda x, y, z: x * y * z, s, s, s)))
# >>>[1,8,27]




# max()
# 方法返回给定参数的最大值,参数可以为序列。

lis_num = [1, 34, 6, 7, 3, 9]
lis_set = [(1, 2), (2, 3), (3, 4)]
dic = {'yanxiatingyu': 17,
'egon': 18,
'alex': 88,
'liu sir': 12
}
print(max(lis_num))
print(max(lis_set))
print(max(dic))
print(max(dic.items()))
print(max(dic.keys()))
print(max(dic.values()))
print(max(dic, key=lambda suibian: dic[suibian]))
print(max(dic, key=lambda suibian: dic[suibian]))
# 34
# (3, 4)
# yanxiatingyu
# ('yanxiatingyu', 17)
# yanxiatingyu
# 88
# alex
# alex


lambda 参数1,参数2,: 代码
lambda x: x * x
lambda x,y:x*y*x
lambda x,y,z:x+y+z

猜你喜欢

转载自www.cnblogs.com/yanxiatingyu/p/9254659.html