:: python
python :: list 형태의 string(문자열)을 list type 으로 변환하기
토람이
2021. 12. 22. 22:53
text1 = '["A", "B", "C"]'
text2 = "['D', 'E', 'F']"
text1, text2 모두 내용은 list 의 형태이나 데이터 타입은 string type 이다.
이 문자열 내용 그대로 list type 으로 변환시키고 싶을 때
아래와 같이 eval 을 사용하여 간단하게 변환할 수 있다.
result = eval(text1)
끝 ^_^
진짜 변환이 잘 되었는지 확인해보았다.
print(result) # eval(text1) 결과 출력
# ["A", "B", "C"]
print(type(eval(text1)) # eval(text1) 의 데이터 타입 출력
# <class 'list'>
이렇게 하면 list 형태로 쓰여 있는 텍스트 파일에서 데이터를 불러올 때 유용하게 사용할 수 있다.
이 외에도 ast, json 라이브러리를 사용하는 방법도 있긴 하다.
참고로 작성해봄!
1. ast
import ast
text1 = '["A", "B", "C"]'
result = ast.literal_eval(text1)
print(result)
# ["A", "B", "C"]
2. json
import json
text1 = '["A", "B", "C"]'
result1 = json.loads(text1)
print(result1)
# ["A", "B", "C"]
그런데 json 라이브러리를 사용할 경우,
' 이 아니라 " 로 감싸진 문자열은 처리할 때 에러가 발생한다는 점 참고!
text2 = "['D', 'E', 'F']"
result2 = json.loads(text2)
# 에러 발생
300x250