곰퓨타의 SW 이야기

[python] 리스트 자료형 뿌시기 본문

TIL/코테개념_python

[python] 리스트 자료형 뿌시기

곰퓨타 2021. 1. 6. 15:05

어제 코딩테스트를 보았는데, 아직 난 파이썬 공부가 더 필요하고, 그 이후에 문제를 더 풀어보는 것이 좋을 것 같다는 판단이 내려졌다.

 

따라서 ... 내가 실제 책으로도 가지고 있지만 위키독스에 공개된 점프투파이썬 을 통해 하나씩 다시 공부해보고자 한다.

(작년 1년동안 고등학생들을 대상으로 코딩 교육 봉사를 갑자기 파이썬으로 하게 되어 점프투 파이썬을 급하게 1회독하였었다..

시간이 지나고 파이썬을 이용한 수업을 진행한지  7개월..?정도 지나니 다시 공부해야겠다는 생각이 들었다..

이번에 한 번 더 본다면 이번엔 기억이 오래갈 것 같다...!😊)

 

wikidocs.net/14

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

[내가 헷깔리는 부분에 대해서만 정리해보고자 한다 ..!]

 

리스트 인덱싱

중첩된 리스트에서 안에 있는 요소에 접근하는 방법은 다음과 같다. 

>>> a = [1, 2, 3, ['a', 'b', 'c']]
>>> a[0]
1
>>> a[-1]
['a', 'b', 'c']
>>> a[3]
['a', 'b', 'c']
>>> a[-1][0]
'a'

 

중첩된 리스트에서 슬라이싱 하는 방법은 다음과 같다.

>>> a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
>>> a[2:5]
[3, ['a', 'b', 'c'], 4]
>>> a[3][:2]
['a', 'b']

 

리스트 연산하기 (문자열에서의 연산과 유사하다)

리스트 더하기 (+)

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]

 

리스트 반복하기 (*)

>>> a = [1, 2, 3]
>>> a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

 

리스트 길이 구하기

>>> a = [1, 2, 3]
>>> len(a)
3

 

 

리스트 삭제 (del)

del을 통한 x번째 요소 삭제 (del a[x])

>>> a = [1, 2, 3]
>>> del a[1]
>>> a
[1, 3]

 

del을 통해 여러 개의 요소 삭제

>>> a = [1, 2, 3, 4, 5]
>>> del a[2:]
>>> a
[1, 2]

 

삭제하는 방법에는 remove과 pop이 있지만, 리스트 관련 함수에서 다룬다..!! 

(일단 책의 순서를 따르면서 공부하는 것이 효과적일 것 같아, 책 순서를 그대로 따라보고자 한다⭐️)

 

 

리스트 관련 함수들

문자열과 마찬가지로 리스트 변수 이름 뒤에 '.'를 붙여서 여러 가지 리스트 관련 함수를 사용할 수 있다.

 

1. 리스트 요소 추가 (append)

>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
>>> a.append([5,6])
>>> a
[1, 2, 3, 4, [5, 6]]

 

2. 리스트 정렬 (sort)

>>> a = [1, 4, 3, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a = ['a', 'c', 'b']
>>> a.sort()
>>> a
['a', 'b', 'c']

 

3. 리스트 뒤집기 (reverse)

현재의 리스트를 그대로 거꾸로 뒤집어준다..!

(이 예시는 정말 센스있었던 것 같다..😉)

>>> a = ['a', 'c', 'b']
>>> a.reverse()
>>> a
['b', 'c', 'a']

 

4. 위치 반환 (index)

index(x) 함수는 리스트에 x 값이 있으면 x의 위치 값을 돌려준다.

이는 문자열에서와 같이 존재하지 않는 값에 접근하려고 하면 값 오류 (ValueError)가 나타난다.

(문자열과 같이 find를 적용해보려하였으나 오류가 난다❗️)

>>> a = [1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0

 

5. 리스트에 요소 삽입(insert)

insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다.

>>> a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
[4, 1, 2, 3]

 

6. 리스트 요소 제거 (remove)

remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수이다. 여러 개의 x가 존재하더라도 첫 번째로 나오는 요소만 삭제한다!)

>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2, 3]

 

7. 리스트 요소 끄집어내기(pop)

pop()은 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제한다. 

pop(x)는 리스트의 x번째 요소를 돌려주고 그 요소는 삭제한다.

(이는 stack&queue를 했을 때 유용하게 많이 사용한다는 것을 문제들을 통해 알 수 있었다..!!)

>>> a = [1,2,3]
>>> a.pop()
3
>>> a
[1, 2]
>>> a = [1,2,3]
>>> a.pop(1)
2
>>> a
[1, 3]

 

8. 리스트에 포함된 요소 x의 개수 세기 (count)

count(x)는 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수이다.

>>> a = [1,2,3,1]
>>> a.count(1)
2

 

9. 리스트 확장(extend)

extend(x)에서 x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더하게 된다.

(이것 또한 stack&queue에서 많이 사용했던 것 같다❗️)

a.extend([4, 5])는 a += [4, 5]와 동일하다.🐣

>>> a = [1,2,3]
>>> a.extend([4,5])
>>> a
[1, 2, 3, 4, 5]
>>> b = [6, 7]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7]

 

 

점프투파이썬의 최대 단점은 정말 쉽게 설명을 해놓았다는 것 이라고 생각한다...

덕분에 개념에 대해 다시 되짚어볼 수 있었던 기회였다.. 이번주 안에 7장까지 2회독을 완전히 마치고 싶다!!!

Comments