Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Linux
- zookeeper
- gradle
- dynamic programming
- 주키퍼
- 알고리즘
- go
- 코드워
- boj
- HBase
- 프로그래머스
- golang
- leetcode
- redis
- 튜토리얼
- codewars
- docker
- 파이썬
- scala
- 자바
- Go언어
- Python
- OOM
- 문제풀이
- DP
- 스칼라
- 동적프로그래밍
- Java
- 리눅스
- programmers
Archives
- Today
- Total
파이문
[Python] 리스트, 딕셔너리 한글 print 본문
728x90
(Python에서 dictionary, list 의 print 형식 바꾸기)
파이썬에서 유니코드가 아닌 한글 문자열은 /x~ 형식으로 표기된다. 일반 문자열을 print할 때는 상관 없지만 딕셔너리나, 리스트 안의 인자 값으로 들어가는 경우엔 print를 해도 한글이 제대로 보이지 않는다.
즉, 다음과 같은 상황인 것이다.
리스트 안의 문자열에서 인덱스 접근으로 하면 제대로 "가" "나"가 콘솔창에 찍히지만, 단순히 리스트를 print 할 경우에는 나타나지 않는다.
딕셔너리도 마찬가지다.
이럴 경우엔 cumstom 클래스로 리스트와 딕셔너리를 만들고 각각의 컬렉션을 상속 받아 __str__을 오버라이드 해주면 된다.
즉, 다음 처럼 새롭게 만들어준다.
class MyList(list):
def __str__(self):
return "[" + ", ".join(["%s" % x for x in self]) + "]"
class MyDict(dict):
def __str__(self):
return "{" + ",".join(["%s: %s" % (key, self[key]) for key in self]) + "}"
mydict = MyDict()
mydict["1"] = "추신수"
mydict["2"] = "류현진"
mylist = MyList()
mylist.append(mydict)
print mydict
print mylist
결과 값으로 제대로 한글이 나오는 것을 볼 수 있을 것이다.
'트러블 슈팅' 카테고리의 다른 글
[MySQL] Centos7에서 mysql 설치하기 (0) | 2018.03.04 |
---|---|
[Python] 파이썬3.5 에서 MySQL 라이브러리 설치하기 (0) | 2017.04.02 |
[C++] string의 length는 함수다. (0) | 2017.02.21 |
[Python] 프로퍼티 세터, 게터 (0) | 2016.05.22 |
[Python] InsecurePlatformWarning (0) | 2016.03.23 |
Comments