2-2. 必須構文(配列に関連する関数)
11747 ワード
配列を処理する際に有用な関数である順序付きシーケンス型データを学習する.
配列はあらゆる分野で使用されるデータ形式であり、それを熟知すると役立ちます.TMI)ReduceとMapは勉強中に一度整理したことがありますが、少しは分かっていますが、LambdaとFilterはまだ気まずいようです.早く慣れなきゃ 本日のキーワード lambda, reduce, map, filter
匿名関数、hip領域で使用するとすぐに消える関数.
使い捨て関数でメモリを節約できます. pythonicでコードを記述できます. Pythonごみ収集器countは0と見なされる.
GCは,不要な変数や参照を整理してメモリを管理するプロセスである. 一般関数:再使用のためにメモリに格納します. ラムダ関数:内部呼び出しのたびに1つの反復器オブジェクトが返されるのでメモリの無駄が少ない.
リスト内のすべての要素を演算処理し、結果を返します.それぞれ関数のパラメータとして適用した後、その結果を文字形式で入力する. nextでオブジェクトの次の要素をフィルタできます. map関数は2つの因子を受け入れる. 結果はサードパーティに戻るので、list()を使用して変換する必要があります. mapの関数因子はもちろんramda関数で代用できる.
ゴミ収集器にフィルターをかけることができます.
特定の条件に対応する値のみが収集され、シーケンス形式で返されます.地図は同じ因子を受け取る.
複数の循環可能なシーケンス型データから計算データを蓄積する必要がある場合に使用することが望ましい.モジュールの導入が必要です.
配列はあらゆる分野で使用されるデータ形式であり、それを熟知すると役立ちます.
Sequence type function
lambda
匿名関数、hip領域で使用するとすぐに消える関数.
長所
GCは,不要な変数や参照を整理してメモリを管理するプロセスである.
一般関数との比較
#세 수의 합을 더하는 함수를 만들 때
#한번 사용할거라면 익명함수 lambda 만들어주기
cul = lambda a,b,c : a+b+c
print('ex 1 >',cul(1, 2, 3))
map
リスト内のすべての要素を演算処理し、結果を返します.
map(함수, 시퀀스)
digits1 = [ x * 10 for x in range(1,11)]
# 리스트에 1~10를 넣어준다.
# (함수, 시퀀스)
result = map(lambda i: i**2, digits1)
# map object로 출력이 된다.
print('ex 2 >',result)
# list로 형변환을 해줘야 출력이 된다.
print('ex 2 >',list(result))
# 람다 이용하기
def ex2_func(x):
return x**2
result_without_lambda = map(ex2_func, digits1)
print('ex 2 >', list(result_without_lambda))
def also_square(nums):
def double(x):
return x**2
return map(double,nums)
# 기능별로 모듈화를 해서 은닉화 가능
print('ex 2 >',list(also_square(digits1)))
ゴミ収集器にフィルターをかけることができます.
filter
特定の条件に対応する値のみが収集され、シーケンス形式で返されます.
filter(함수, 시퀀스)
digits = [1,2,3,4,5,6,7,8,9,10]
results = filter(lambda i : i % 2 ==0, digits)
print('ex 3 >',list(results))
def also_evens(nums):
def is_even(x):
return x % 2 == 0
return filter(is_even,nums)
print('ex 3 >',list(also_evens(digits)))
reduce
複数の循環可能なシーケンス型データから計算データを蓄積する必要がある場合に使用することが望ましい.
from functools import reduce
from functools import reduce
digits3 = [ x for x in range(1,101)]
# 가장 마지막 결과값만 반환한다.
result3 = reduce(lambda x,y : x + y, digits3)
print('ex 4 >',result3)
# 출력 : ex 4 > 5050
def also_add(digits3):
def add_plus(x,y):
return x + y
return reduce(add_plus,digits3)
print('ex 4 >',also_add(digits3))
# 출력 : ex 4 > 5050
[ソース]基礎-すべての人のために用意されたPython:必要な文法Featを学ぶ。オープンソースパッケージの導入Reference
この問題について(2-2. 必須構文(配列に関連する関数)), 我々は、より多くの情報をここで見つけました https://velog.io/@uoayop/2-2.-필수-문법-배열-관련-함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol