一、map()的应用
def f(x, y):
result = 1
for i in range(1, y - x):
result *= i
return result
x = list(map(f, (0, 2, 4), range(5, 8)))
print(x)
运行结果:[24, 6, 2]
首先要知道什么是map()函数
第一个值:x取0,y取5,运行f函数,得到的是1*2*3*4=24;
第二个值:x取2,y取6,运行f函数,得到的是1*2*3=6;
第三个值:x取4,y取7,运行f函数,得到的是1*2=2;
所以运行结果:[24, 6, 2]
二、for in的应用
print([(x, y) for x in [1, 2, 3] if x!=2 for y in [3, 1, 4, 2] if y!=x])
运行结果:[(1, 3), (1, 4), (1, 2), (3, 1), (3, 4), (3, 2)]
要想成功输出需满足的条件:x取1或2或3,且x!=2;y取3或1或4或2,且y!=x
三、yield的应用
def f():
a, b = 1, 2
while True:
yield a
a, b = b, a * b
a = f()
for i in range(7):
print(a.__next__(), end = ',')
四、编写程序,生成包含20个随机整数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
import random
v=[random.randint(0,100) for i in range(20)]
print(v)
a=v[0:10]
a.sort()
b=v[10:20]
b.sort()
b.reverse()
print(a)
print(b)
c=a+b
print(c)
五、形参,实参
def demo():
x = 5
x = 3
demo()
print(x)
输出结果:3
在绝大多数情况下,在函数内部直接修改形参的值不会影响实参,x=5为局部变量,只有在demo()内部输出x才为5
更新中……