JAVA 개발자의 PYTHON 도전기

이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.

기본 문법

List

빈 리스트 생성 방법입니다.

>>> a = []
>>> b = list()
>>> a
[]
>>> b
[]

이전에 배운 range를 사용하여 list를 만들어보겠습니다.

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(reversed(range(1, 10 + 1)))
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> list(reversed(range(1, 10 + 1, 2)))
[9, 7, 5, 3, 1]

list()에 문자열을 넣으면 쪼개져 들어갑니다.
공란도 삽입됩니다.

>>> list("coe n")
['c', 'o', 'e', ' ', 'n']
>>> list("파이썬")
['파', '이', '썬']

리스트의 각 인덱스에 접근해보겠습니다.

>>> a = list("coe n")
>>> a
['c', 'o', 'e', ' ', 'n']
# 0    1    2    3    4
# -5   -4   -3   -2   -1
>>> a[2]
'e'
>>> a[-3]
'e'

리스트 요소의 값을 변경하는 방법은 아래와 같습니다.

>>> a
['c', 'o', 'e', ' ', 'n']
>>> a[3] = "!"
>>> a
['c', 'o', 'e', '!', 'n']

리스트 요소의 갯수는 아래와같이 구합니다.

>>> a
['c', 'o', 'e', '!', 'n']
>>> len(a)
5

파이썬에는 리스트 슬라이스라는 기능이 있습니다.
인덱스를 이용해 원하는 만큼 리스트를 조작할 수 있습니다.

>>> a
['c', 'o', 'e', '!', 'n']
>>> a[:4] # 처음부터 인덱스 4 이전까지
['c', 'o', 'e', '!']
>>> a[1:] # 인덱스 1부터 끝까지
['o', 'e', '!', 'n']
>>> a[1:4] # 인덱스 1부터 4 이전까지
['o', 'e', '!']
>>> a[1:-2] # 인덱스 1부터 끝에서 2번째 인덱스 이전까지
['o', 'e']
>>> a[:len(a)] # 처음부터 끝까지
['c', 'o', 'e', '!', 'n']

리스트에서 값을 제거하는 방법입니다.

>>> a = [1, 2, 3, 4]
>>> del a[1] # index 1번을 삭제한다.
>>> a
[1, 3, 4]
>>> a.remove(3) # 요소 중에서 3이라는 값을 가진 index를 삭제한다.
>>> a
[1, 4]

위의 방법은 리스트에서 요소를 삭제하고 끝이지만 아래의 방법은 요소를 가져오고 삭제합니다.

>>> a = [1, 2, True, "string", 1.5]
>>> b = a.pop() # 리스트의 마지막 index의 값을 가져오고 삭제한다.
>>> a
[1, 2, True, 'string']
>>> b
1.5
>>> a.pop(-1) # 리스트의 index의 값을 가져오고 삭제한다.
'string'
>>> a
[1, 2, True]
>>> a.pop(1) # 리스트의 index의 값을 가져오고 삭제한다.
2

tuple

튜플은 리스트와 흡사하지만 변경이 불가능한 불변객체입니다.
아래와 같이 선언하여 사용할 수 있습니다.
튜플을 선언할땐 ()에 값을 넣어 ,로 구분합니다.
단일 값을 넣을땐 값, 를 하면 됩니다.

>>> a = (3, 5, 7, 10, 12, 156)
>>> a
(3, 5, 7, 10, 12, 156)
>>> a[1]
5
>>> a[1:4]
(5, 7, 10)
>>> a[1] = 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> b = (38)
>>> b
38
>>> b = (38,)
>>> b
(38,)
>>> b = 27,
>>> b
(27,)

리스트와 튜플로 변수 만들기

>>> a, b, c, _ = [1, 2, 3, 4] # 리스트 언패킹 _가 없으면 에러가 발생한다.
>>> a
1
>>> b
2
>>> c
3
>>> a, b, c = (2,3,4) # 튜플 언패킹
>>> a
2
>>> b
3
>>> c
4
>>> d = 1, 2, 3 # 튜플 패킹
>>> d
(1, 2, 3)

참고자료 (파이썬 코딩 도장 - Unit 19. 리스트와 튜플 사용하기)

profile
백엔드 프로그래머

0개의 댓글