본문 바로가기
알고리즘 PS (백준)/🐍 Python (파이썬)

[파이썬 python] 리스트(list) , 튜플 , 딕셔너리 (dict) , 문자열 관련 함수

by 코딩하는 동현😎 2022. 5. 12.

주의! 이 글은 코딩을 처음 시작하는 사람 입장에서는 이해가 되지 않을 것입니다.

적어도 하나의 언어에 대해서 잘 아는 사람 입장에서 함수만 정리한것입니다.


1. 리스트 (list)

리스트는 c, java하는 사람들이 흔히 아는 배열과 같습니다.

그러나 가변배열이죠, 여러 자료들의 값을 담을수 있는 자료형입니다.

 

[] : 빈리스트

nums = [1,2,3,4,5]


인덱싱은 리스트내에 특정 위치의 자료를 지정하는 것입니다.

c,java와 다른 점은 역방향으로 인덱싱을 할 수 있다는 것인데요, 맨뒤가 -1로 시작합니다.


슬라이싱은 리스트 내 특정위치의 자료를 끊어오는 것입니다

형식 :  [시작:끝:간격]

시작, 끝 , 간격등을 생략하면 기본 값이 됩니다.

  • nums[:] : 다 생략한 형태. 처음을 시작으로 맨 까지 기본간격(1)으로 가져온다. 원래 배열과 완전히 같습니다.
    • [1 , 2 , 3.14 , 4 , 5]
  • nums[0:2] : 인덱스 0부터 2 이전까지 이므로 0,1인덱스가 나옵니다 [ 1 , 2 ]
  • nums[::2] : 처음부터 끝까지 2간격으로 [1 , 3,14 , 5]
  • nums[:-1] : 처음부터 인덱스가 -1인것 전까지(끝) [1 ,  2 , 3.14 , 4]  (-1에 해당하는것은 5이다.)
  • nums[::-1] : 전체 리스트에서 간격이 -1이입니다. 즉 역방향 리스트를 만듭니다.

리스트 함수 모음

  • len(list) : 리스트 크기를 반환 (java와 다름!)
  • list.append(x) : 맨뒤에 x를 리스트에 추가
  • list.sort() : 오름차순 정렬
  • list.sort(reverse = True) : 내림차순 정렬
  • list.index(x) : 리스트에서 요소 x를 찾아서 인덱스를 반환
  • list.remove(x) : 리스트에서 처음나오는 x를 삭제
  • list.pop() : 맨마지막 요소 반환삭제
  • list.count(x) : x가 몇개 있는지 반환합니다
  • list1.extend( list2 ) : 리스트 두개를 이어붙임

2. 튜플 (tuple)

리스트와 유사하지만 수정할수 없는 자료형이고 , 인덱싱 , 슬라이싱은 리스트와 동일합니다.

 

() : 빈 튜플

color = ("red" , "green" , "blue")


3.딕셔너리 (dict)

key , value 형태의 자료를 담을 수 있는 자료형으로 해싱함수를 이용해 접근합니다.

리스트 = 배열 , 딕셔너리 = 해쉬맵

 

{} , dict() : 빈 딕셔너리

d = {key : value , key : value .....}

 

d['key'] = 3 : 새로운 값 추가 또는 key에 대해서 value 수정

key in dic : 딕셔너리안에 key가 있는지 여부를 반환


딕셔너리 함수들

  • d.keys() : 딕셔너리 d의 모든 키들을 모은 dict_keys를 돌려줍니다
    • 추가적으로 list = list(dict_keys) 해주면 리스트로 바꾸기 완료!
  • d.values() : 딕셔너리 d의 모든 value들을 모아놓은 dict_values를 돌려줌
    • 추가적으로 list = list(dict_values) 해주면 리스트로 바꾸기 완료!
  • d.items() : 딕셔너리의 모든 (key , value) 튜플을 모아놓은 dic_items를 돌려줍니다
  • d.clear() : 초기화
  • d.get(key) : 키에 알맞는 value를 가져옵니다.

4. 문자열 관련 함수

문자열은 리스트와 인덱싱과 슬라이싱 방법은 동일하지만 string[3]= ' k' 처럼 변경은 할수 없습니다.

 

문자열 포맷팅 함수

{인덱스:형식}   형식자는 c언어 , java printf함수와 동일합니다

"{0:s}  , {1:3f}".format('height' , 1.3)

=====> height , 1.3

 


문자열 관련 함수들

  • str.upper() : 전부다 대문자로 / str.lower() 전부다 소문자로
  • str.find(x) : str중 x와 처음으로 일치하는 문자를 반환합니다. 없으면 -1 
  • str.replace(s ,r)
  • str.split() : 공백으로 전부 나눠서 리스트로 반환
  • str.split(s) : s구분자로 전부 나눠서 리스트로 반환

사실 이 함수들은 일부일 뿐이고 문자열은 리스트관련 함수를 상당 수 공유합니다.

반응형

댓글