파이썬에 입문하고 코딩 테스트, 알고리즘 문제를 접하게 됐는데, 리스트(list), 튜플(tuple), 딕셔너리(dictionary) 등

  각각 어떻게 CRUD(생성, 읽기, 수정, 삭제) 해야 하는지 헷갈려서 글로 남기게 되었다.

 

 

 

* 추천 링크 - 인덱싱에 대한 자세한 내용 (kjh0816.tistory.com/23

   ps : 인덱스를 역순으로 가져올 때 주의점.

  

 

 

 

 

  (본론)

 * Sequence 자료형

1) Python에서 sequence 자료형이란?

 

     - 순서를 가진 객체들의 집합.

       

      

2) Python에서 sequence 자료형에 속하는 것

 

    - 문자열 ( String )

    - 리스트 ( list ) 

    - 튜플 ( tuple )

 

 

3) 가능한 연산

 

  1) 인덱싱 ( Indexing )

 

      - 순서가 존재하므로, index를 통해 index[0]부터 값을 불러올 수 있다.

 

      ※ 참고로, dictionary는 sequence가 아닌 { key : value, ...} 형태로 저장

         되므로 index를 통해 값을 불러올 수 없다.

str1 = '가, 나'

print(str1[0], str1[1], str1[2], str1[3])
>>>
가, 나

# 공백(띄어쓰기)을 포함한 모든 문자는 하나의 index를 갖는다.

 

 

2) 슬라이싱 ( Slicing )

 

    - 일부를 잘라내거나, 일부를 삭제할 수 있다.

 

university = ['고', '려', '대']
creature = ['생', '물']

	# 1) 일부 잘라내기
    
ancient = university[0:1] + university[2:3]
print(ancient + creature)
>>>
['고', '대', '생', '물']



	# 2) 일부 삭제하기

del university[1:2]
print(university+creature)
>>>
['고', '대', '생', '물']

 

 

3) "+"연산자로 연결 ( Concatenation )

   

    - 같은 자료형끼리  "+" 연산자를 통해 합칠 수 있다.

    

   

str1 = 'Good'
str2 = 'Morning'
print(str1 + str2)
>>>
GoodMorning



# 아래처럼, tuple(또는 string) + list 등 같은 sequence 자료형이라도 합칠 수 없다.

  
list1 = [1, 2]
tuple1 = (3, 4)
print(list1+tuple1)
>>>
TypeError: can only concatenate list (not "tuple") to list

 

4) "*" 연산자로 반복 ( Repetition )

 

    - 하나의 sequence 자료형 객체를 "*"를 통해 반복시킬 수 있다.

str1 = '간다'
print(str1*3)
>>>
간다간다간다

5) "in" 연산자로 값(value) 조회

 

    - 특정한 값이 있는지 "in" 연산자를 통해 True/False 값을 얻을 수 있다.

 

computer = ['screen', 'keyboard']

print('screen' in computer)
>>>
True

print('cellphone' in computer)
>>>
False


# "in" 연산자와 조건문 사용

if 'mouse' not in computer :
    computer.append('mouse')
print(computer)
>>>
['screen', 'keyboard', 'mouse']

 

 

 

 

'Programming languages > Python' 카테고리의 다른 글

for문과 if문 한 번에 ( list comprehension )  (0) 2021.05.06
슬라이싱, 인덱스  (0) 2021.04.21

+ Recent posts