Python에서 문자열을 나열하여 구문 분석
-
Python에서
str.split()
함수를 사용하여 목록으로 문자열 구문 분석 -
Python에서
str.strip()
함수를 사용하여 목록으로 문자열 구문 분석 -
Python에서
json.loads()
함수를 사용하여 나열할 문자열 구문 분석 -
Python에서
ast.literal_eval()
함수를 사용하여 목록으로 문자열 구문 분석
이 튜토리얼에서는 파이썬에서 문자열을 리스트로 파싱하는 방법을 배울 것입니다.
Python에서 str.split()
함수를 사용하여 목록으로 문자열 구문 분석
시나리오에서 '[ "A","B","C" , " D"]'
와 같은 목록의 문자열 표현이 있고 해당 표현을 실제 문자열 목록으로 변환하려는 경우 str.split()
함수를 사용하여 ,
를 기준으로 문자열을 분할합니다. str.split()
함수는 구분 기호/구분 기호를 입력 매개변수로 사용하고 구분 기호에 따라 호출 문자열을 분할하고 하위 문자열 목록을 반환합니다. 아래 코드 샘플은 str.split()
함수를 사용하여 목록의 문자열 표현을 실제 목록으로 구문 분석하는 방법을 보여줍니다.
stringlist = '[ "A","B","C" , " D"]'
print(stringlist.split(","))
출력:
['[ "A"', '"B"', '"C" ', ' " D"]']
stringlist
문자열을 stringlist.split(",")
함수를 사용하여 ,
를 기반으로 분할하여 목록으로 변환했습니다. 출력에서 알 수 있듯이 이 접근 방식에는 몇 가지 문제가 있으며 요구 사항을 적절하게 충족하지 않습니다.
Python에서 str.strip()
함수를 사용하여 목록으로 문자열 구문 분석
이와 같은 문자열을 목록으로 추가로 변환하려면 str.strip()
함수를 사용할 수 있습니다. 이 str.strip()
함수는 구분 기호/구분 기호를 입력 매개 변수로 사용하고 구분 기호를 기반으로 호출 문자열을 제거하고 훨씬 더 깨끗한 하위 문자열 목록을 반환합니다. 아래 샘플 코드는 str.strip()
함수를 사용하여 목록의 문자열 표현을 실제 목록으로 구문 분석하는 방법을 보여줍니다.
stringlist = '[ "A","B","C" , " D"]'
print(stringlist.strip(","))
출력:
[ "A","B","C" , " D"]
stringlist
문자열을 stringlist.split(",")
함수로 ,
를 기준으로 분할하여 목록으로 변환했습니다. 이번에는 훨씬 더 깨끗한 문자열 목록을 얻습니다. 이 방법의 유일한 단점은 목록의 네 번째 요소에 있는 공백과 같이 원치 않는 공백이 있다는 것입니다.
Python에서 json.loads()
함수를 사용하여 나열할 문자열 구문 분석
특정 문제에 대해 json
모듈을 사용할 수도 있습니다. json.loads()
함수는 JSON 객체를 매개변수로 받아 JSON 객체를 역직렬화하고 결과를 목록으로 반환합니다. 이 경우 JSON 객체 매개변수는 문자열일 수도 있습니다. 아래 샘플 코드는 json.loads()
함수를 사용하여 목록의 문자열 표현을 실제 목록으로 구문 분석하는 방법을 보여줍니다.
import json
stringlist = '[ "A","B","C" , " D"]'
print(json.loads(stringlist))
출력:
['A', 'B', 'C', ' D']
우리는 stringlist
문자열을 Python의 json.loads(stringlist)
함수를 사용하여 더 깔끔한 목록으로 변환했습니다. json.loads()
함수와 이전 접근 방식 간의 유일한 차이점은 여기에 구분 기호 또는 구분 기호를 지정할 필요가 없다는 것입니다. json.loads()
함수는 자동으로 구분자를 결정합니다. 이 방법에는 원치 않는 공백 문제도 포함되어 있습니다.
Python에서 ast.literal_eval()
함수를 사용하여 목록으로 문자열 구문 분석
특정 문제를 해결하는 또 다른 방법은 ast
모듈입니다. ast.literal_eval()
함수는 튜플, 사전, 목록 및 집합과 같은 Python 리터럴 구조의 문자열 표현을 사용합니다. 문자열을 해당 리터럴 구조에 전달하면 결과가 반환됩니다. 우리의 경우 목록의 문자열 표현이 있습니다. 따라서 ast.literal_eval()
함수는 이 문자열을 가져와서 목록으로 구문 분석하고 결과를 반환합니다. 다음 코드 조각은 ast.literal_eval()
함수를 사용하여 목록의 문자열 표현을 실제 목록으로 구문 분석하는 방법을 보여줍니다.
import ast
stringlist = '[ "A","B","C" , " D"]'
print(ast.literal_eval(stringlist))
출력:
['A', 'B', 'C', ' D']
stringlist
문자열을 Python의 ast.literal_eval()
함수를 사용하여 더 깨끗한 목록으로 변환했습니다. 이전 접근 방식과 유사하게 구분 기호나 구분 기호를 지정할 필요가 없습니다. 또한 이전 접근 방식과 유사하게 이 방법도 원하지 않는 공백 문제가 동일합니다. 그러나 이러한 공백은 쉽게 제거할 수 있습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn관련 문장 - Python String
- Python의 문자열에서 쉼표 제거
- Python에서 문자열을 변수 이름으로 변환
- 파이썬에서 문자열에서 공백을 제거하는 방법
- Python의 문자열에서 숫자 추출
- 파이썬에서 문자열을 날짜 / 시간으로 변환하는 방법
- 파이썬 2와 3에서 문자열을 소문자로 변환하는 방법