다른 목록을 사용하여 문자열 목록 필터링
이 예에서는 방법을 사용하지 않고 문자열 목록의 데이터를 필터링할 수 있는 방법을 보여 줍니다. 문자열 목록은 다른 목록을 사용하여 여기에서 필터링됩니다. 여기에서 두 개의 목록 변수가 이름으로 선언됩니다. 목록1 그리고 목록2 . 의 가치 목록2 의 값을 사용하여 필터링됩니다. 목록1 . 스크립트는 각 값의 첫 번째 단어와 일치합니다. 목록2 의 가치와 목록1 존재하지 않는 값을 인쇄하십시오. 목록1 .
# 두 개의 리스트 변수 선언
목록1= ['펄', 'PHP', '자바', 'ASP']
목록2= ['자바스크립트는 클라이언트 측 스크립팅 언어입니다',
'PHP는 서버측 스크립팅 언어입니다',
'자바는 프로그래밍 언어',
'Bash는 스크립팅 언어입니다']
# 첫 번째 목록을 기준으로 두 번째 목록 필터링
filter_data= [NS~을위한NS~에목록2만약
모두(그리고~ 아니다 ~에NS~을위한그리고~에목록1)]
# 필터 전과 필터 후 목록 데이터 인쇄
인쇄('첫 번째 목록의 내용:',목록1)
인쇄('두 번째 목록의 내용:',목록2)
인쇄('필터 다음 두 번째 목록의 내용:',filter_data)
산출:
스크립트를 실행합니다. 여기, 목록1 '라는 단어가 포함되어 있지 않습니다. 세게 때리다 '. 출력에는 다음의 값이 하나만 포함됩니다. 목록2 그건 ' Bash는 스크립팅 언어입니다' .
다른 목록 및 사용자 정의 함수를 사용하여 문자열 목록 필터링
이 예는 다른 목록과 사용자 정의 필터 기능을 사용하여 문자열 목록을 필터링하는 방법을 보여줍니다. 스크립트에는 list1 및 list2라는 두 개의 목록 변수가 있습니다. 사용자 정의 필터 기능은 두 목록 변수의 공통 값을 찾습니다.
# 두 개의 리스트 변수 선언목록1= ['90', '67', '3.4', '55', '12', '87', '32']
목록2= ['9', '90', '38', '오분의 사', '12', '스물']
# 첫 번째 목록에서 데이터를 필터링하는 함수 선언
데프필터(목록1,목록2):
반품 [N~을위한N~에목록1만약
어느(미디엄~에N~을위한미디엄~에목록2)]
# 필터 전과 필터 후 목록 데이터를 인쇄합니다.
인쇄('list1의 내용:',목록1)
인쇄('list2의 내용:',목록2)
인쇄('필터링 후 데이터',필터(목록1,목록2))
산출:
스크립트를 실행합니다. 90 및 12 값은 두 목록 변수에 모두 존재합니다. 스크립트를 실행하면 다음 출력이 생성됩니다.
정규식을 사용하여 문자열 목록 필터링
목록은 다음을 사용하여 필터링됩니다. 모두() 그리고 어느() 앞의 두 예제의 메서드. 이 예에서는 정규식을 사용하여 목록에서 데이터를 필터링합니다. 정규식은 모든 데이터를 검색하거나 일치시킬 수 있는 패턴입니다. '답장' 모듈은 스크립트에서 정규식을 적용하기 위해 파이썬에서 사용됩니다. 여기에서 목록은 주제 코드로 선언됩니다. 정규식은 '로 시작하는 주제 코드를 필터링하는 데 사용됩니다. CSE '. ' ^^ ' 기호는 텍스트 시작 부분에서 검색하기 위해 정규 표현식 패턴에서 사용됩니다.
# 정규 표현식을 사용하기 위해 모듈을 가져옵니다.수입 답장
# 목록에 주제 코드가 포함되어 있음을 선언합니다.
하위 목록= ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', '매트-202']
# 필터 함수 선언
데프필터(데이터 목록):
# 목록의 정규식을 기반으로 데이터 검색
반품 [시간~을위한시간~에데이터 목록
만약 답장.검색(NS'^ CSE',시간)]
# 필터 데이터 인쇄
인쇄(필터(하위 목록))
산출:
스크립트를 실행합니다. 하위 목록 변수에는 '로 시작하는 두 개의 값이 있습니다. CSE '. 스크립트를 실행하면 다음 출력이 나타납니다.
람다 표현식을 사용하여 문자열 목록 필터링
이 예는 다음의 사용을 보여줍니다. 람다 문자열 목록에서 데이터를 필터링하는 표현식입니다. 여기에서 이름이 지정된 목록 변수는 검색어 라는 이름의 텍스트 변수에서 콘텐츠를 필터링하는 데 사용됩니다. 텍스트 . 텍스트의 내용은 이름이 지정된 목록으로 변환됩니다. text_word 사용하여 공간을 기반으로 나뉘다() 방법. 람다 표현식에서 해당 값을 생략합니다. text_word 에 존재하는 검색어 공백을 추가하여 필터링된 값을 변수에 저장합니다.
# 검색어가 포함된 목록 선언검색어= ['가르치다', '암호', '프로그램 작성', '블로그']
# 목록의 단어가 검색할 텍스트를 정의합니다.
텍스트= 'Linux 힌트 블로그에서 Python 프로그래밍 배우기'
# 공백을 기준으로 텍스트를 분할하고 단어를 목록에 저장
text_word=텍스트.나뉘다()
# 람다 식을 사용하여 데이터 필터링
필터_텍스트= ''.가입하다((필터(람다발: 발~ 아니다NS
n 검색어,text_word)))
# 필터링 전과 필터링 후 텍스트 인쇄
인쇄('N필터링 전 텍스트:N',텍스트)
인쇄('필터링 후 텍스트:N',필터_텍스트)
산출:
스크립트를 실행합니다. 스크립트를 실행하면 다음 출력이 나타납니다.
filter() 메서드를 사용하여 문자열 목록 필터링
필터() 메소드는 두 개의 매개변수를 허용합니다. 첫 번째 매개변수는 함수 이름을 취하거나 없음 두 번째 매개변수는 목록 변수의 이름을 값으로 사용합니다. 필터() 메서드는 true를 반환하면 목록에서 해당 데이터를 저장하고, 그렇지 않으면 데이터를 버립니다. 여기, 없음 첫 번째 매개변수 값으로 제공됩니다. 없는 모든 값 거짓 필터링된 데이터로 목록에서 검색됩니다.
# 혼합 데이터 목록 선언목록 데이터= ['안녕하십니까', 200, 1, '세계', 거짓, 진실, '0']
# 없음 및 목록이 있는 filter() 메서드 호출
필터링된 데이터= 필터(없음,목록 데이터)
# 데이터 필터링 후 리스트 출력
인쇄('필터링 후 목록:')
~을위한시간~에필터링된 데이터:
인쇄(시간)
산출:
스크립트를 실행합니다. 목록에는 필터링된 데이터에서 생략될 하나의 false 값만 포함됩니다. 스크립트를 실행하면 다음 출력이 나타납니다.
결론:
필터링은 목록에서 특정 값을 검색하고 검색해야 할 때 유용합니다. 위의 예가 독자가 문자열 목록에서 데이터를 필터링하는 방법을 이해하는 데 도움이 되기를 바랍니다.