Pythonベースケーストレーニング2

7965 ワード

Pythonベースケーストレーニング
一、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;の2番目の値:xは2を取り、yは6を取り、f関数を実行し、得られたのは1*2*3=6;の3番目の値: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になります.
更新中……