목록코딩 공부 (69)
인생은 여행 人生は旅
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WxQ7W/btsFobnXcOm/JDX2rzKoo4EbC4NQoCV3nk/img.png)
2023 점프 투 파이썬 02-5 딕셔너리 자료형 사람은 누구든지 "이름" = "홍길동", "생일" = "몇 월 며칠" 등과 같은 방식으로 그 사람이 가진 정보를 나타낼 수 있다. 파이썬은 영리하게도 이러한 대응 관계를 나타낼 수 있는 딕셔너리(dictionary) 자료형을 가지고 있다. 이번에는 이 자료형에 대해 알아보자. 요즘 사용하는 대부분의 언어도 이러한 대응 관계를 나타내는 자료형을 가지고 있는데 이를 딕셔너리라고 하고, ‘연관 배열(associative array)’또는 ‘해시(hash)’라고도 한다. 딕셔너리란? 딕셔너리는 단어 그대로 ‘사전’이라는 뜻이다. 즉 "people"이라는 단어에 "사람", "baseball"이라는 단어에 "야구"라는 뜻이 부합되듯이 딕셔너리는 Key와 Value를..
02-4 튜플 자료형 튜플은 어떻게 만들까? 튜플은 다음과 같이 여러 가지 모습으로 생성할 수 있다. Copyt1 = () t2 = (1,) t3 = (1, 2, 3) t4 = 1, 2, 3 t5 = ('a', 'b', ('ab', 'cd')) 모습은 리스트와 거의 비슷하지만, 튜플에서는 리스트와 다른 2가지 차이점을 찾아볼 수 있다. t2 = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 쉼표(,)를 반드시 붙여야 한다는 것과 t4 = 1, 2, 3처럼 소괄호(())를 생략해도 된다는 점이다. 얼핏 보면 튜플과 리스트는 비슷한 역할을 하지만, 프로그래밍을 할 때 튜플과 리스트는 구별해서 사용하는 것이 유리하다. 튜플과 리스트의 가장 큰 차이는 요솟값을 변화시킬 수 있는지의 여부이다. 즉, 리스..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cLwf0X/btsFpPDB9y5/7YAz8ad5dlQ9cdPvGAjbd1/img.webp)
리스트 정렬 - sort sort 함수는 리스트의 요소를 순서대로 정렬해 준다. >>> a = [1, 4, 3, 2] >>> a.sort() >>> a [1, 2, 3, 4] 문자 역시 알파벳 순서로 정렬할 수 있다. >>> a = ['a', 'c', 'b'] >>> a.sort() >>> a ['a', 'b', 'c'] 리스트 뒤집기 - reverse reverse 함수는 리스트를 역순으로 뒤집어 준다. 이때 리스트 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라 현재의 리스트를 그대로 거꾸로 뒤집는다. >>> a = ['a', 'c', 'b'] >>> a.reverse() >>> a ['b', 'c', 'a'] 인덱스 반환 - index index(x) 함수는 리스트에 x 값이 있으..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/br2i0o/btsFiMVMRFe/u34rwxj9x0TEjotimQtnP1/img.webp)
리스트 반복하기(*) >>> a = [1, 2, 3] >>> a * 3 [1, 2, 3, 1, 2, 3, 1, 2, 3] 위에서 볼 수 있듯이 [1, 2, 3] 리스트가 세 번 반복되어 새로운 리스트를 만들어 낸다. 문자열에서 "abc" * 3 = "abcabcabc" 가 되는 것과 같은 이치이다. 리스트 길이 구하기 리스트 길이를 구하기 위해서는 다음처럼 len 함수를 사용해야 한다. >>> a = [1, 2, 3] >>> len(a) 3 len은 문자열, 리스트 외에 앞으로 배울 튜플과 딕셔너리에도 사용할 수 있는 함수이다. 자주 사용하므로 잘 기억해 두자. 초보자가 범하기 쉬운 리스트 연산 오류 다음 소스 코드를 입력했을 때 결괏값은 어떻게 나올까? >>> a = [1, 2, 3] >>> a[2] ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MlXbV/btsFjJX9OHN/Jz2s22rmkjN8Tlfn07L8GK/img.png)
odd = [1, 3, 5, 7, 9] print (type(odd)) a = [1,2,3] print (a[0]) a = [ 1,2,3,['a','b','c']] print(a[3][1]) 리스트의 인덱싱과 슬라이싱 리스트도 문자열처럼 인덱싱과 슬라이싱이 가능하다. : 기준으로 이상, 미만 표시 a = [ 1,2,3,4,5] print (a[0:2]) a = [1, 2, 3, ['a', 'b', 'c'], 4, 5] print (a[2:5]) 리스트 연산하기 리스트 역시 +를 사용해서 더할 수 있고 *를 사용해서 반복할 수 있다. a = [1, 2, 3] b = [4, 5, 6] print (a + b) 오늘은 리스트 자료형에 대해서 조금 공부 :) 이 부분은 그렇게 어렵지 않은듯 ㅎㅎ
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bLiYWb/btsFdplX9Bp/XR0TNuMruvWeJ2izhJuyO0/img.png)
문자열 바꾸기 - replace >>> a = "Life is too short" >>> a.replace("Life", "Your leg") 'Your leg is too short' replace 함수는 replace(바뀔_문자열, 바꿀_문자열)처럼 사용해서 문자열 안의 특정한 값을 다른 값으로 치환해 준다. a = "Life is too short" print (a.replace("Life","Your leg")) 문자열 나누기 - split >>> a = "Life is too short" >>> a.split() ['Life', 'is', 'too', 'short'] >>> b = "a:b:c:d" >>> b.split(':') ['a', 'b', 'c', 'd'] split 함수는 a.spli..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cefhbh/btsE9J6trSL/29W4fNb77XgqSgckH80ra0/img.webp)
왼쪽 정렬 >>> "{0:10}".format("hi") ' hi' 오른쪽 정렬은 :을 사용하면 된다. 화살표의 방향을 생각하면 어느 쪽으로 정렬되는지 바로 알 수 있을 것이다. 소수점 표현하기 >>> y = 3.42134234 >>> "{0:0.4f}".format(y) '3.4213' 위는 format 함수를 사용해 소수점을 4자리까지만 표현하는 방법을 보여 준다. 앞에서 살펴보았던 표현식 0.4f를 그대로 사용한 것을 알 수 있다. >>> "{0:10.4f}".format(y) ' 3.4213' 위와 같이 자릿수를 10으로 맞출 수도 있다. 이 또한 앞에서 살펴본 10.4f의 표현식을 그대로 사용한 것을 알 수 있다. 위쪽에 나오는 개념들은 잘 사용하지 않는다 ^^; f 문자열 포매팅 >>> age..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cfEupK/btsFbhG7TvC/3Nsh0QXc0hlEQMgAFP8Et1/img.png)
문자열 자료형 a = "I eat %s apples." % "five" print(a) 문자열 안에 또 다른 문자열을 삽입하기 위해 %s 숫자를 넣기 위해서는 %d 문자열 포맷 코드 %s 문자열(String) %c 문자 1개(character) %d 정수(Integer) %f 부동소수(floating-point) %o 8진수 %x 16진수 %% Literal % (문자 % 자체) 소수점 표현하기 %10.4f" % 3.42134234 : 소수점 넷째 자리까지 표현하기 = > 3.4213 ( 위 예문은 소수점 네 번째 자리까지 표시하고 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬) . 은 소수점 포인트, 그 뒤의 숫자 4는 소수점 뒤에 나올 숫자의 개수 소수점 포인트 앞의 숫자는 문자열의 전체 길이..