개발 & 데이터베이스/파이썬

[파이썬] 기초 문법 #1 문자열 인덱싱, 리스트, 투플, 딕셔너리

K.두부 2021. 12. 24. 21:05
반응형

파이썬뿐만 아니라 어떤 프로그래밍 언어에서 빠질 수 없는 문자열 인덱싱, 리스트, 루플, 딕셔너리의 기초 문법에 대해서 알아보겠습니다.

문자열 인덱싱

인덱스는 어떤 배열 안에 원소가 위치하고 있는 순서를 나타냄 주의할 점은 첫 번째 원소의 위치를 0으로 시작해서 1씩 증가함

문자열(길이 4) E a s y
인덱스 0 1 2 3
str = 'Easy'

str[0]    # 'E'
str[3]    # 'y'
len(str)  # 4

인덱스 배열의 순서를 뒤에서 앞으로 표현할 수도 있다. 마지막 위치를 인덱스 -1로 하고 숫자를 1씩 감소함

문자열(길이 4) E a s y
인덱스 -4 -3 -2 -1
str = 'Easy'

str[-1]   # 'y'
str[-3]   # 'a'

 

문자열 슬라이싱

슬라이싱 기법은 인덱스 범위를 지정하여 여러 개의 원소를 추출하는 방법

[시작 인덱스 : 끝 인덱스] 형식으로 범위를 지정함 (시작 인덱스는 포함하지만 마지막 인덱스는 포함하지 않음)

문자열(길이 4) E a s y
인덱스 0 1 2 3
str[-3:-1]   # 'as'
str[-3]      # 'asy'

 

리스트

여러 개의 데이터를 하나의 모음(집합)으로 다루고 싶을 때 사용하는 대표적인 자료형으로 리스트를 만들기 위해서는 대괄호([ ]) 안에 여러 개의 원소를 쉼표(,)로 구분하여 입력

list = [1, 2, 3, 4, 5]
list2 = [10]
list3 = list()  # 빈 리스트를 생성하는 방법 1
list4 = ()      # 빈 리스트를 생성하는 방법 2

type(list)  # <class 'list'>

1. 리스트 원소를 갖는 리스트

list_of_list = [list1, list2, list3]

list_of_list[0]     # [1, 2, 3, 4, 5]
list_of_list[0][1]  # 2
list_of_list[-1]    # []
list_of_list[0:2]   # [[1, 2, 3, 4, 5], [10]]

2. 리스트에 새로운 원소 추가

 : 리스트 객체에 도트(.) 연산자를 이용하여 append 메소드를 적용하면 맨 뒤에 생성됨

list3.append(7)
list3.append(8)
list3.append(9)
list3  # [7, 8, 9]

 

투플

여러 개의 원소를 순서대로 저장할 수 있고, 각 원소를 쉼표(,)로 구분함. 리스트 자료구조와 형태가 비슷하지만 원소를 추가하거나 삭제할 수 없다는 점이 가장 큰 차이점임

tuple = (1, 2)
tuple2 = ('a', 'b', 100)
tuple3 = tuple()  # 빈 투플을 생성하는 방법 1
tuple4 = ()       # 빈 투플을 생성하는 방법 2

tuple2[0]  # 'a'
tuple2[1:] # ('b', 100)

 

딕셔너리

여러 개의 원소를 담는 자료형 중에서 딕셔너리는 형태가 독특함. "키(key) : 값(value)" 형태로 원소를 가짐. 중괄호 ({ }) 안에 원소(키:값)를 쉼표(,)로 구분

dict = {'name':'Jay', 'age':20}

dict['name']  # 'Jay'
dict['age']   # 20

dict.keys()  # dict_keys(['name', 'age'])
dict.values() # dict_values(['Jay', 20])
dict.items() # dict_items([('name', 'Jay'), ('age', 20)])
  • dict.keys() : 딕셔너리의 key 값을 추출
  • dict.values() : 딕셔너리의 value 값을 추출
  • dict.items : (키, 값) 형태의 투플 구조로 키와 매칭되는 값을 추출
반응형