python学习笔记(三)

输出由1234组成的不同的三位数

1
2
3
4
5
6
7
8
9
digit=(1,2,3,4)
for i in digit:
for j in digit:
if i==j:
continue
for k in digit:
if k==i or k==j:
continue
print(i*100+j*10+k)

map()函数

map()函数的格式是:

map(function,iterable,…)
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。

把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。

1
2
3
4
5
6
7
8

del square(x):
return x ** 2

map(square,[1,2,3,4,5])

# 结果如下:
[1,4,9,16,25]

通过使用lambda匿名函数的方法使用map()函数:

1
2
3
4
map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])

# 结果如下:
[3,7,11,15,19]

通过lambda函数使返回值是一个元组:

1
2
3
4
map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1])

# 结果如下
[(8,5),(16,6),(6,7)]

当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
map(None,[2,4,6],[3,2,1])

# 结果如下
[(2,3),(4,2),(6,1)]
通过map还可以实现类型转换

将元组转换为list:

map(int,(1,2,3))

# 结果如下:
[1,2,3]
将字符串转换为list:

map(int,'1234')

# 结果如下:
[1,2,3,4]
提取字典中的key,并将结果放在一个list中:

map(int,{1:2,2:3,3:4})

# 结果如下
[1,2,3]

https://blog.csdn.net/quanlingtu1272/article/details/95482253