서론
드디어 시험이 끝났다. 히히. 근데 사실 생각해보면 시험기간 중에 블로그를 열심히 썻어도 점수가 바뀌거나 하진 않았을 것 같다. 워낙 딴 짓도 많이해서... 아무튼 오늘은 리스트에 다뤄볼까한다. 변수 다음에 제어문을 써야할 지, 아님 자료형에 대해 더 써야할 지 고민하다가 리스트를 해두는게 반복문이나 제어문과 연계해서 익히기 더 좋을 것 같아서 리스트를 먼저 배우도록 하겠다.
목차
-
리스트... ㄱ.그게 뭐노
-
사용하며 익히기
-
append 값 추가하기
-
del 값 제거하기
-
sum 리스트 총합 구하기
-
sorted 리스트 원소 정렬하기
-
리스트 값 변경하기
-
리스트... ㄱ.그게 뭐노
리스트는 원소(변수)가 연속적으로 저장되는 자료형이라 보면 편하다. c언어에는 배열이라고 비슷한 개념이 있는데, 차이점이라면 배열은 자료형을 무조건 하나로 통합해야된다는 단점이 있다면, 파이썬은 원소마다 자료형을 다르게 해줄 수 있다.
a = [123, "시간의 바깥"]
print(a)
이렇게 입력을 하면 다음과 같은 결과가 출력된다.
[123, '시간의 바깥']
리스트는 [] 안에 쉼표를 통해 원소끼리 구분을 지으며 여러 값을 하나에 리스트 안에 저장할 수 있다.
그러면 이 글을 읽던 사람들은 이렇게 생각할 수 있다. "아니 그러면 a = 123 b = "시간의 바깥" 이렇게 입력하고 2개 출력해도 문제 없는 거 아님?"
물론 맞는 말이다. 하지만 a = 123 b = "시간의 바깥" c = "사과" d = 3333 e = 5664 ..... 이렇게 변수가 많아지면 코드가 상당히 더러워질것이다.
a = [123, "시간의 바깥", "사과", 3333, 5664]
리스트를 사용해 이렇게 한곳에 모아두는 게 편하지 않겠는가?
사용하며 익히기
이제 리스트에 원소를 추가하거나, 제거하는 방법을 알아보자.
처음부터 리스트에 내가 원하는 값을 할당하고 시작하면 좋지만 실행중간에 원소를 추가해야할 상황이 있다.
list1 = [1,2,3,4,5]
list1.append(6)
print(list1)
append함수를 사용하면 리스트 끝에 값을 추가할 수 있다. 사용법은
원하는리스트.append(넣을 값)
이렇게 사용하면 된다. 아무튼 위에 코드를 실행하면, 다음과 같은 실행결과가 나온다.
[1, 2, 3, 4, 5, 6]
이제 원소를 제거하는 방법을 알아보자.
a = [1,2,3,4,5]
del a[1]
print(a)
위와 같이 del함수를 사용하면 원하는 원소를 뽑아 제거할 수 있다. 사용방법은
del 원하는리스트[제거할 원소의 번지]
이렇게 사용할 수 있다. 그래서 위에 코드를 실행하면,
[1, 3, 4, 5]
이런 실행결과가 나온다. 위에서 말했듯, 리스트는 1이 아닌 0부터 세기때문에, 두번째에 있는 2가 제거 되었다.
그럼 이제 리스트를 좀 더 깊게 활용해보도록 하자.
a = [123, 100, 200]
print(a[0] + a[1] + a[2])
이 코드를 해석하자면, a라는 리스트의 0번째 원소와 1번째 원소, 2번째 원소를 더한 뒤 출력한다는 코드이다. "? 왜 첫번째가 아니라 0부터 시작하는거지?" 음... 나도 그 이유는 모르겠다. 그냥 모든 프로그래밍 언어가 0부터 시작하도록 설계되있다. 아무튼.. 리스트의 원소가 3개가 있다면, 1,2,3 이렇게 세는게 아니라 0,1,2 로 세는 게 맞다. 그래서 저 코드를 실행하면, 다음과 같은 결과가 나온다.
423
위에 코드를 다르게 코딩하는 방법도 있다. sum() 함수를 사용하면 해당 리스트의 모든 원소를 더해준다.
a = [123 , 100, 200]
print(sum(a))
이렇게 코드를 짜도 위와 같은 결과가 나온다.
그리고 또 다른 재밌는 함수가 하나 있다. sorted()라는 함수인데, 다른 프로그래밍 언어에는 이런 내장 함수가 없다. 나는 파이썬이 편한 이유 중에 하나는 다양한 함수 지원이라고 생각한다. 아무튼 sorted는 말 그대로 정렬이다. 리스트 안에 있는 원소들을 순서대로 정렬해준다.
a = [123 , 100, 200]
print(sorted(a))
출력결과는 다음과 같다.
[100, 123, 200]
수가 제일 작은 100 그다음 123,200 오름차순으로 잘 정렬되었다.
아 그리고 위에서 설명해야 했지만 못한것이 있다.
a = [1,2,3,4,5]
a[3] = 8
print(a)
리스트는 값을 변경할 수 있다.
변경할리스트[변경할 원소 번지] = 원하는 값
이렇게 변경이 가능하다.
출력결과는 다음과 같다.
[1, 2, 3, 8, 5]
끝맺는 말
글을 한번에 쓴게 아니라 좀 나눠서 써서 인지 좀 중구난방한 느낌이 있는데, 양해바랍니다. 아무튼 시험끝나서 강좌 글을 써봤는데, 이제는 좀 성실하게 쓰도록 하겠습니다~
'코딩 이야기 > 프로그래밍 언어 이야기' 카테고리의 다른 글
짱 쉬운 파이썬 강좌 #5 if문 (1) | 2020.10.24 |
---|---|
짱 쉬운 파이썬 강좌 #4 딕셔너리 (0) | 2020.10.17 |
짱 쉬운 파이썬 강좌 #2 변수 (0) | 2020.10.02 |
짱 쉬운 파이썬 강좌 #1 출력문(print) (0) | 2020.09.30 |
짱 쉬운 파이썬 강좌 #0 파이썬 환경설정 (0) | 2020.09.18 |