Key-Value를 한쌍으로 갖는다.

 

# 딕셔너리 쌍 추가
a = {1: 'a'}
a[2] = 'b'
# {1: 'a', 2: 'b'} 자동으로 추가가 된다.

# 딕셔너리 요소 삭제
del a[1]
# {2: 'b'}

 

Key에 리스트는 사용할 수 없지만 튜플은 사용 가능하다.

 

[딕셔너리 관련 함수들]

 

keys : key값만 모아서 dict_keys로 반환시켜준다

values : value값만 모아서 dict_values로 반환시켜준다

items : key-value를 쌍으로 묶어서 dict_items로 반환시켜준다

get : key에 직접 접근해 value를 반환받는것과 동일하다. 하지만 직접 접근할때 해당 key가 존재하지 않으면 오류가 발생하는것과 달리 get은 None을 반환한다

in : 해당 key가 딕셔너리 안에 존재하면 True, 없으면 False 반환

'프로그래밍 > Python' 카테고리의 다른 글

내장함수  (0) 2022.07.22
[자료형] 집합  (0) 2022.07.22
[자료형] 리스트 & 튜플  (0) 2022.07.22
[자료형] 문자열  (0) 2022.07.22
sort 함수에서 key가 다중조건일때  (0) 2022.07.18

튜플과 리스트는 사용법이 완전히 동일하지만 튜플의 요소는 삭제나 변경이 불가능하다.

그렇기에 튜플은 삭제나 변경과 관련된 메소드가 없다.

 

인덱스의 -1은 리스트의 가장 끝을 의미한다.

문자열과 마찬가지로 슬라이싱, +, * 연산이 가능하며 기능이 동일하다.

리스트 요소의 삭제는 remove와 pop함수, 그리고 del을 사용한다.

pop의 인자가 없을시 가장 마지막 요소가 반환되고 삭제됨

a = [1,2,2,4]
a.remove(2) # 가장 먼저 발견되는 값 삭제. 1,2,4
a.pop(2) # 해당 인덱스 값 반환 후 삭제. 1,2

a = [1,2,2,4]
del a[0] # 2,2,4
del a[1:] # 2

 

리스트의 값을 복사하고자 할 때

a = [1,2,3] # id(a) 4303029896
b = a		# id(b) 4303029896

단순히 리스트를 대입시키게 되면 [1, 2, 3] 리스트를 참조하는 변수가 1개에서 2개로 늘어난 것과 마찬가지가 된다.

즉, 얕은 복사가 일어나게 된다.

 

a = [1, 2, 3]
b = a.copy() # 메소드를 이용하거나
b = a[:] # 전체범위에 해당하는 새로운 리스트를 넘겨준다

 

 

리스트 관련 함수들

 

append : 맨 뒤에 요소를 추가시킨다

sort : 기본적으로 오름차순 정렬

reverse : 순서를 뒤집는다

index : 문자열의 index와 같다. 하지만 find는 없다

insert : 리스트에 요소 삽입

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

count : 리스트 안에 들어있는 인자의 개수를 반환함

extend : 인자로 받은 리스트를 추가시켜 확장시킨다

'프로그래밍 > Python' 카테고리의 다른 글

[자료형] 집합  (0) 2022.07.22
[자료형] 딕셔너리(사전)  (0) 2022.07.22
[자료형] 문자열  (0) 2022.07.22
sort 함수에서 key가 다중조건일때  (0) 2022.07.18
파이썬 문법 메모  (0) 2022.07.14

문자열이 여러줄인 경우 \n을 여러번 포함하는 것보다 " 세개 혹은 ' 세개로 감싸서 직관적으로 작성하는게 나을 수도 있다.

multiline = """
Life is to short
You need python
"""

 

여러개의 문자열들을 + 연산을 통해 하나로 묶어줄 수 있다.

 

문자열에 정수를 곱하면 해당 횟수만큼 반복되어 늘어난다.

 

문자열 슬라이싱

a = "Life is too short, You need Python"
# a[0:4] :: 0 <= a < 4
# 'Life'

start 또는 end를 생략할 수 있는데 그렇게 되면 기본적으로 각각 문자열의 시작점, 끝점이 된다.

 

 

[문자열 포매팅]

print("I ate %d apples. so I was sick for %s days." % (number, day))

%s는 어떤 형태의 값이든 변환해 넣을 수 있다.

%10d, %0.3f 등 포맷코드와 숫자를 혼용해서 사용하는 것은 c/c++ 문법과 같다.

 

"I ate {0} apples. so I was sick for {day} days.".format(10, day=3) # 기본적인 사용

"{0:<10}".format("hi") # 왼쪽 정렬. 오른쪽은 > 가운데는 ^ 사용

"{0:=^10}".format("hi") # 공백 채우기. '====hi====' 와 같이 출력됨

"{0:0.4f}".format(y) # 소수점 표현

f'나의 이름은 {name}입니다. 나이는 {age}입니다.' # f 문자열 포매팅

 

[문자열 관련 함수]

count : 해당 문자(열)이 포함된 값 반환

find, index : 해당 문자(열)이 처음으로 나온 위치 반환. find는 찾지 못하면 -1 반환. index는 오류 발생

join : 각각의 문자 사이에 좌측 문자(열)를 삽입

",".join('abcd')
# 'a,b,c,d'

lower / upper  : 소 / 대문자로 바꾸기

lstrip / rstrip / strip : 좌 / 우 / 양쪽 공백 지우기

replace : 문자열 바꾸기

a = "Life is too short"
a.replace("Life", "Your leg")
# 'Your leg is too short'

split : 문자열 나누기. 나누어진 것들은 리스트로 반환된다.

a = "Life is too short"
a.split()
# ['Life', 'is', 'too', 'short']

'프로그래밍 > Python' 카테고리의 다른 글

[자료형] 집합  (0) 2022.07.22
[자료형] 딕셔너리(사전)  (0) 2022.07.22
[자료형] 리스트 & 튜플  (0) 2022.07.22
sort 함수에서 key가 다중조건일때  (0) 2022.07.18
파이썬 문법 메모  (0) 2022.07.14

+ Recent posts