ASCII code + Iteration
References
전자 통신을 위해 1963년 문자를 부호화한 것을
ASCII code
라고 합니다. 현재는 더 많은 문자를 포함하기 위해 확장이 이루어졌으며 국제 표준은unicode
로 제정되어 있기도 합니다.워드프로세서(MS word, hwp 등)에서는 특수문자 입력 기능을 이용해 쉽게 입력이 가능하고, 그렇지 않더라도 한글 자음 입력 후 한자 키를 누르는 방식으로도 어렵지 않게 입력이 가능합니다만 간혹 원하는 문자의 코드를 필요로 할 때가 있습니다.
예컨대, 아래와 같은 그래프를 그릴 때입니다.
같은 형식의 그래프를 동시에 그리는데, 논문에 싣거나 하는 등의 이유로 (a)부터 시작하는 넘버링을 해야 하는 사례입니다.
1. (a) ~ (d) 를 하나씩 만들어 주려면 이렇습니다.
1 | fig, axes = plt.subplots(ncols=4, nrows=1, ... (후략)...) |
- text의 위치나 크기 등을 조정하려면 n개의 줄을 모두 다 똑같이 수정해야 하므로 좋지 않습니다.
2. list를 쓰면 조금 편하게 할 수 있습니다. 이제 수정시 for loop
안의 한 줄만 고치면 됩니다.
1 | figid = ['a', 'b', 'c', 'd'] |
- plot 수가 늘어나면 list를 고쳐줘야 해서 성가십니다.
plt.subplots()
안의ncols=4
와for loop
안의range(4)
를len(figid)
로 바꾸면 좀 낫습니다.- 그러나 리젝을 먹거나 해서 투고할 논문이 바뀌는데, 거기선 (a), (b), … 가 아니라 (i), (ii), … 로 하라고 하면 이것도 짜증납니다.
3. 좀 낯설지만 이렇게 하면 한 곳만 바꾸면 됩니다.
1 | fig, axes = plt.subplots(ncols=4, nrows=1, ... (후략)...) |
ord("a")
는 “a” 의 ASCII 값을 확인하는 명령입니다.chr()
는 ASCII 코드 값을 받아서 해당하는 문자로 바꾸는 명령입니다.chr(ord("a"))
에+ i
를 섞어for loop
안에 놓으면 , for loop을 한바퀴 돌때마다 “a” 뒤의 문자를 하나씩 불러오는 명령이 됩니다. 처음엔 “a”, 다음엔 “b”, 그 다음에는 “c”를 자동으로 불러옵니다.<br>
위 코드에서 “a” 대신 원하는 문자를 입력하면 됩니다.
어떤 방법도, 심지어 웹에서 Ctrl + C/V도 가능합니다.
1
2
3
4for i in range(75):
print("{}".format(chr(ord("㉠") + i)), end=' ')
if i > 9 and i%10 == 0:
print('')- 실행 결과
1
2
3
4
5
6
7
8㉠ ㉡ ㉢ ㉣ ㉤ ㉥ ㉦ ㉧ ㉨ ㉩ ㉪
㉫ ㉬ ㉭ ㉮ ㉯ ㉰ ㉱ ㉲ ㉳ ㉴
㉵ ㉶ ㉷ ㉸ ㉹ ㉺ ㉻ ㉼ ㉽ ㉾
㉿ ㊀ ㊁ ㊂ ㊃ ㊄ ㊅ ㊆ ㊇ ㊈
㊉ ㊊ ㊋ ㊌ ㊍ ㊎ ㊏ ㊐ ㊑ ㊒
㊓ ㊔ ㊕ ㊖ ㊗ ㊘ ㊙ ㊚ ㊛ ㊜
㊝ ㊞ ㊟ ㊠ ㊡ ㊢ ㊣ ㊤ ㊥ ㊦
㊧ ㊨ ㊩ ㊪