Python の特殊な構文

高洛峰
リリース: 2016-10-19 13:32:12
オリジナル
1617 人が閲覧しました

Python には、非常に Python 固有の特別な関数がいくつか組み込まれています。コードをより簡潔にすることができます。

例を見てみましょう:

1 filter(function, sequence):

str = ['a', 'b', 'c', 'd']

def fun1(s): return s if s ! = 'a' else None

ret = filter(fun1, str)

print ret

## ['b', 'c', 'd']

内の項目に対して function(item) を実行しますシーケンスを 1 つずつ実行し、実行結果が True の項目をリスト/文字列/タプル (シーケンスの種類に応じて) に構成して返します。

はフィルター関数として見ることができます。

2 map(関数, シーケンス)

str = ['a', 'b', 'c', 'd']

def fun2(s): return s + ".txt"

ret = マップ(fun2, str)

print ret

## ['a.txt', 'b.txt', 'c.txt', 'd.txt']

項目に対して関数(item)を順番に実行する1 つずつ )、実行結果をリスト形式で確認して返します:

map は複数のシーケンスもサポートしており、関数が対応する数のパラメーター入力もサポートする必要があります:

def add(x, y): return x+ y

print map(add, range(10), range(10))

##[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

3reduce(function, sequence, starting_value): def add1(x,y): return x + y

print reduce(add1, range(1, 100))

print reduce(add1, range(1, 100), 20)

# # 4950 (注: 1 +2+...+99)

## 4970 (注: 1+2+...+99+20)

シーケンス内の項目がある場合は、その関数を繰り返し呼び出します。は starting_value であり、初期値としても使用できます。たとえば、次のように List を合計するために使用できます。

4 lambda:

g = lambda s: s + ".fsh"

print g( "haha")

print (lambda x: x * 2) ( 3)

## haha​​.fsh

## 6

これは Python でサポートされている興味深い構文で、単一のline の最小限の関数。C 言語のマクロに似ており、これらの関数はラムダと呼ばれます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート