Python에서 문자열 목록을 필터링하는 방법
다른 목록을 사용하여 문자열 목록 필터링
이 예는 문자열 목록의 데이터를 어떤 방법도 사용하지 않고 필터하는 방법을 설명한다.문자열 목록은 여기서 다른 목록을 사용하여 필터링합니다.여기에서 두 개의 목록 변수를 설명합니다. 이름은list1과list2입니다.list1의 값을 사용하여list2의 값을 필터합니다.이 스크립트는list2의 모든 값의 첫 번째 단어를list1의 값과 일치하고list1에 존재하지 않는 값을 출력합니다.
#coding=utf-8
#
list1 = ['Python', 'PHP', 'Java', 'Bash']
list2 = ['JavaScript ',
'PHP ',
'Java ',
'Kotlin ']
#
filter_data = [x for x in list2 if
all(y not in x for y in list1)]
#
print(" :", list1)
print(" :", list2)
print(" :", filter_data)
스크립트를 실행합니다.여기서 list1에는 "Kotlin"이라는 단어가 없습니다.출력은 list2의 한 값만 포함됩니다. 즉, ['Kotlin은 정적 프로그래밍 언어']입니다.Python에서 문자열 목록 필터링 방법
출력은 다음과 같습니다.
첫 번째 목록의 내용: ['Python','PHP','Java','Bash']
두 번째 목록의 내용: ['자바스크립트는 클라이언트 스크립트 언어','PHP는 서버측 스크립트 언어','자바는 프로그래밍 언어','Kotlin은 정적 프로그래밍 언어']
필터링된 두 번째 목록의 내용: ['Kotlin은 정적 프로그래밍 언어입니다']
다른 목록과 사용자 정의 함수를 사용하여 문자열 목록 필터링
이 예에서는 다른 목록과 사용자 정의 필터 기능을 사용하여 문자열 목록을 필터링하는 방법을 설명합니다.이 스크립트는list1과list2라는 두 개의 목록 변수를 포함합니다.사용자 정의 필터 기능은 두 목록 변수의 공통 값을 찾아냅니다.
#
list1 = ['100', '67', '39', '505', '122', '287', '399']
list2 = ['70', '100', '308', '415', '362', '230']
#
def Filter(list1, list2):
return [n for n in list1 if
any(m in n for m in list2)]
#
print("list1 :", list1)
print("list2 :", list2)
print(" ",Filter(list1, list2))
스크립트를 실행합니다.두 목록 변수에 모두 100의 값이 존재한다.스크립트를 실행하면 다음 출력이 생성됩니다.list1의 내용: ['100','67','39','505','122','287','399']
list2의 내용: ['70','100','308','415','362','230']
필터링된 데이터 ['100']
정규 표현식을 사용하여 문자열 목록 필터링
앞의 두 예시의all () 과any () 방법을 사용하여 목록을 필터합니다.이 예에서는 정규 표현식을 사용하여 목록에서 데이터를 필터링합니다.정규 표현식은 이 모드를 통해 모든 데이터를 검색하거나 일치시킬 수 있는 모드입니다.Python에서're'모듈을 사용하여 스크립트에 정규 표현식을 적용합니다.여기서 테마 코드를 사용하여 목록을 설명합니다.정규 표현식은 CSE로 시작하는 주제 코드를 필터링하는 데 사용됩니다.정규 표현식 모드에서'^'기호를 사용하여 텍스트의 시작을 검색합니다.
# re
import re
#
sublist = ['IDC-108', 'OKY-309', 'IDC-709', 'PHP-102', 'MIO-801']
#
def Filter(datalist):
#
return [val for val in datalist
if re.search(r'^IDC', val)]
#
print(Filter(sublist))
스크립트를 실행합니다.하위 목록 변수에는 IDC로 시작하는 두 개의 값이 있습니다.스크립트를 실행하면 다음 출력이 표시됩니다.['IDC-108', 'IDC-709']
lamda 표현식으로 문자열 목록 필터링
이 예는lamda 표현식을 사용하여 문자열 목록에서 데이터를 필터하는 것을 설명합니다.여기서 search_word의 목록 변수는text라는 텍스트 변수에서 내용을 필터하는 데 사용됩니다.split () 방법을 사용하여 공간을 기반으로 텍스트 내용을 text_로 변환합니다.word 목록입니다.lamda 표현식은 text_ 무시됨search_word에 있는 값을 추가하고 필터된 값을 변수에 저장합니다.
# linuxidc_word
linuxidc_word = [" ", "linuxidc", "Python", "Kotlin"]
# ,
text = "Linux linuxidc Linux , Kotlin !"
#
text_word = text.split()
# lambda
filter_text = ' '.join((filter(lambda val: val not in linuxidc_word, text_word)))
#
print("
:
", text)
print(" :
", filter_text)
스크립트를 실행합니다.스크립트를 실행하면 다음 출력이 표시됩니다.필터링 전 텍스트:
Linux 공사 linuxidc는 전문적인 Linux 시스템 포털 사이트로 최신 Kotlin 정보를 실시간으로 발표합니다!
필터링된 텍스트:
리눅스 공동체는 전문적인 리눅스 포털 사이트로 최신 정보를 실시간으로 발표합니다!
필터 () 방법으로 문자열 목록 필터링
filter () 방법은 두 개의 인자를 받아들입니다.첫 번째 매개변수는 함수 이름 또는 None, 두 번째 매개변수는 목록 변수의 이름을 값으로 사용합니다.filter () 방법은true로 돌아가면 목록에 이 데이터를 저장합니다. 그렇지 않으면 이 데이터를 버릴 것입니다.여기서 첫 번째 매개변수 값은 값을 지정하지 않습니다.false가 아닌 모든 값은 목록에서 필터된 데이터로 검색됩니다.
#
listData = ['linuxidc', 90, 9, 'com', 100, False, 22, True, '1']
# None filter()
filteredData = filter(None, listData)
#
print(' :')
for val in filteredData:
print(val)
스크립트를 실행합니다.이 목록은false 값만 포함하고 필터된 데이터에서 이false 값을 생략합니다.요약:
목록에서 특정 값을 검색하고 검색해야 할 때 필터링이 유용합니다.나는 위의 예가 독자들이 문자열 목록에서 데이터를 필터하는 방법을 이해하는 데 도움을 줄 수 있기를 바란다.
저자: wyh 샘플
출처:https://www.cnblogs.com/wyh0923/p/14166552.html
이상은Python에서 문자열 목록을 필터링하는 방법에 대한 상세한 내용입니다. Python에서 문자열 목록을 필터링하는 방법에 대한 더 많은 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.