python 내장 함수 filter
class filter(object):
"""
filter(function or None, iterable) --> filter object
Return an iterator yielding those items of iterable for which function(item)
is true. If function is None, return the items that are true.
"""
filter(func,iterator)func:사용자 정의 또는 익명 함수 에서 얻 은 값 은 불 값 입 니 다.true 는 함수 가 가 져 온 값 을 유지 하고 false 는 반대 합 니 다.
iterator:대상 을 교체 할 수 있 습 니 다.
예:
필터 목록['texttest_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
text 문자열 을 포함 하고 꺼 내 거나 반대로 가 져 오기 만 하면 됩 니 다.
s.rfind'text'+1
Python 3 에서 rfind()는 문자열 이 마지막 으로 나타 난 위 치 를 되 돌려 줍 니 다.일치 하 는 항목 이 없 으 면-1 을 되 돌려 줍 니 다.
숫자 중 0 은 false 이 고 0 이상 의 정 수 는 모두 true 이기 때문에 s.rfind'text'이후 에+1 이 있 을 것 입 니 다.문자 와-1+1=0 을 찾 지 못 했 습 니 다.
# Filter
li = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
#
print(list(filter(lambda s: s.rfind('text') + 1, li)))
# ,
print(list(filter(lambda s: not s.rfind('text') + 1, li)))
\#Noe 사용자 정의 함수
l1 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
def distinguish(l):
nl = []
for s in l:
if s.rfind("text") + 1:
nl.append(s)
return nl
print(distinguish(l1))
\#두 사용자 정의 고급 함수
l2 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
def f(s):
return s.rfind('text') + 1
def distinguish(func, array):
nl = []
for s in array:
if func(s):
nl.append(s)
return nl
print(distinguish(f, l2))
\#세 익명 함수
l3 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
def distinguish(func, array):
nl = []
for s in array:
if func(s):
nl.append(s)
return nl
print(distinguish(lambda s: s.rfind('text') + 1, l3))
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.