python3高度な機能3

無名関数

匿名関数定義

機能は、私たちの前回によって定義され、よく知られている機能は、我々は関数名で呼び出すことができます

匿名関数名が示唆するようなしの結合機能の関数名の一種で、一度だけリサイクル使用

  • 匿名関数の構造: lambda 参数 : 返回值
# 输入两个参数, 返回两个参数得和
lambda x, y: x+y

無名関数の使用

私たちは、匿名関数を使用する方法は?により、通常は他の組み込みメソッドに関連付けられた匿名関数、無名関数の性質のために

  • MAX()/分()+匿名関数
# 取出年龄最大者的姓名
age_dict = {
    'bigb': 20,
    'blake': 22,
    'tom': 24,
    'jason': 26
}

# 有名函数实现方法
def func(name):
    return age_dict[name]

res = max(age_dict, key=func)  
print(res)  # jason
'''
max()方法会遍历age_dict得到key
将key依次传入func中, 返回年龄
再对年龄排序,得到最大值
'''

# 匿名函数实现方法
res = max(age_dict, key=lambda name: age_dict[name])
print(res)  # jason
  • フィルタ()+匿名関数
# 取出年龄大于22岁者的姓名
age_dict = {
    'bigb': 20,
    'blake': 22,
    'tom': 24,
    'jason': 26
}


res = filter(lambda name: age_dict[name] > 22, age_dict)
print(list(res))  # ['tom', 'jason']
'''
filter()方法会遍历age_dict得到key
将key依次传入匿名函数, 返回大于22
res本质上是迭代器对象
'''
  • マップ()+匿名関数
# 返回由(lis元素+2)组成的列表
lis = [1, 2, 3]

def func(item):
    return item + 2

res = map(func, lis)
print(list(res))  # [3, 4, 5]


# 匿名函数实现方法
res = map(lambda item: item + 2, lis)
print(list(res))  # [3, 4, 5]
  • ソート()+匿名関数
# 将四个人姓名按年龄降序排列
age_dict = {
    'bigb': 20,
    'blake': 22,
    'tom': 24,
    'jason': 26
}

def func(name):
    return age_dict[name]


res = sorted(age_dict, key=func, reverse=True)
print(res)  # ['jason', 'tom', 'blake', 'bigb']

# 匿名函数实现方法
res = sorted(age_dict, key=lambda name: age_dict[name], reverse=True)
print(res)  # ['jason', 'tom', 'blake', 'bigb']

組み込み関数

  • 列挙は、()を返します要素のインデックス要素とオブジェクトを
lis = [1, 2, 3]
for ind,val in enumerate(lis):
    print(ind, val)
    
'''
0 1
1 2
2 3
'''
  • evalの()は、文字列の引用符を削除するには、どのように滞在しています
s = '[1, 2, 3]'
print(type(eval(s)), eval(s))  # <class 'list'> [1, 2, 3]
  • divmod()丸めモジュロ
  • CHR / ORD ASCII変換や手紙
  • ハッシュハッシュ可能かどうか
  • デコードされた文字をバイト
  • ラウンド丸め
  • モジュールDIR記載されているすべてのメソッド
  • グローバル/地元の人々は/すべてのグローバル変数を示していますすべての変数の現在の位置を示しています
  • パワーを求めているPOW
  • どの/ Trueに繰り返しオブジェクト内のすべての要素は、すべてが真である/真真比較がありました
  • ABS絶対値
  • 和の合計

おすすめ

転載: www.cnblogs.com/bigb/p/11585714.html