Python에서 문자열 목록을 필터링하는 방법

Python은 목록 데이터 형식을 사용하여 순서 인덱스에 여러 개의 데이터를 저장합니다.그것의 작업 방식은 다른 프로그래밍 언어의 디지털 그룹과 유사하다.filter () 방법은 Python에서 매우 유용한 방법입니다.Filter () 방법을 사용하여 Python의 문자열, 목록, 사전에서 하나 이상의 값을 필터링할 수 있습니다.그것은 어떤 특정한 조건에 따라 데이터를 필터한다.조건이true를 되돌릴 때, 데이터를 저장하고,false를 되돌릴 때 데이터를 버립니다.본고는 서로 다른 예시를 사용하여 Python에서 목록에 있는 문자열 데이터를 필터하는 방법을 보여 줍니다.이 문서의 예제를 테스트하려면 Python 3 +를 사용해야 합니다.

다른 목록을 사용하여 문자열 목록 필터링


이 예는 문자열 목록의 데이터를 어떤 방법도 사용하지 않고 필터하는 방법을 설명한다.문자열 목록은 여기서 다른 목록을 사용하여 필터링합니다.여기에서 두 개의 목록 변수를 설명합니다. 이름은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에서 문자열 목록을 필터링하는 방법에 대한 더 많은 자료는 저희 다른 관련 글을 주목해 주십시오!

좋은 웹페이지 즐겨찾기