딕셔너리(Dictionary)

 

딕셔너리는 사전이라는 의미로 Key와 Value를 한 쌍으로 갖는 자료형입니다.
해시나 연관배열이라고도 합니다.

 

{Key1:Value1, Key2:Value2, Key3:Value3, ...}

딕셔너리 기본 구조입니다.

 

key='apple' value='사과'
key='banana' value='바나나'

 

Key:Value의 형태로 이루어져 있습니다.
Key에는 변하지 않는 값을 사용하고, Value에는 변하는 값과 변하지 않는 값 모두 사용 가능합니다.

따라서 Key에 리스트는 쓸 수 없고 튜플은 쓸 수 있습니다.

 

딕셔너리의 특징은 Key를 통해 Value를 얻는다는 것입니다.

 

딕셔너리에서 Key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나만 출력이 됩니다.

 

a={1:'value1', 2:'value2',3:'value3'}

a[4]='value4'

# 출력>>{1: 'value1', 2: 'value2', 3: 'value3', 4: 'value4'}
print(a)

a['five']='value5'

# 출력>>{1: 'value1', 2: 'value2', 3: 'value3', 4: 'value4', 'five': 'value5'}
print(a)

딕셔너리이름[Key]=Value를 통해 딕셔너리에 추가가 가능합니다.

 

a={1:'value1', 2:'value2',3:'value3'}

del a[2]

# 출력>>{1: 'value1', 3: 'value3'}
print(a)

del[Key]를 입력하면 Key:Value가 삭제됩니다.

 

a={1:'value1', 2:'value2',3:'value3'}

# 출력>>value2
print(a[2])

딕셔너리이름[Key]를 통해 Value를 확인할 수 있습니다.

 

a={1:'value1', 2:'value2',3:'value3'}

# 출력>>dict_keys([1, 2, 3])
print(a.keys())

# 출력>>dict_values(['value1', 'value2', 'value3'])
print(a.values())

# 출력>>dict_items([(1, 'value1'), (2, 'value2'), (3, 'value3')])
print(a.items())

# 출력>>None
print(a.clear())

딕셔너리이름.keys()를 통해 Key값들을 확인할 수 있습니다.

딕셔너리이름.values()를 통해 Value값들을 확인할 수 있습니다.

딕셔너리이름.items()를 통해 Key와 Value 쌍들을 확인할 수 있습니다.

딕셔너리이름.claer()을 입력하면 Key와 Value 쌍들을 모두 지울 수 있습니다.

'Python > 파이썬 기초' 카테고리의 다른 글

파이썬_기초 32_enumerate  (0) 2020.05.31
파이썬_기초 31_Counter  (0) 2020.05.30
파이썬_기초 29_lambda  (0) 2020.05.19
파이썬_기초 28_def 함수이름()  (0) 2020.05.19
파이썬_기초 27_find(), index()  (0) 2020.04.28

lambda

 

lambda는 함수를 간단히 작성할 수 있게 해주는 식입니다.

 

lambda 인자 : 표현식

lambda의 기본 구조1입니다.

 

lambda는 다른 함수의 인수로 넣을 때 많이 사용합니다.

 

lambda는 이름이 없는 함수를 만들고 새로운 변수를 만들 수 없다는 특징이 있습니다.

 

a= lambda x : x+1

# 출력>>2
print(a(1))

 

(lambda 인자 : 표현식)(인수)

lambda의 기본 구조2입니다.

 

lambda 표현식을 호출해 값을 출력하는 방법입니다.

 

b=(lambda x : x+1)(1)

# 출력>>2
print(b)

'Python > 파이썬 기초' 카테고리의 다른 글

파이썬_기초 31_Counter  (0) 2020.05.30
파이썬_기초 30_딕셔너리(Dictionary)  (0) 2020.05.30
파이썬_기초 28_def 함수이름()  (0) 2020.05.19
파이썬_기초 27_find(), index()  (0) 2020.04.28
파이썬_기초 26_slice()  (0) 2020.04.28

def 함수이름()

 

def란 define의 약자로 함수를 정의할 때 사용합니다.

 

def 함수이름():
    함수 코드

함수의 기본 구조1 입니다.

 

함수는 반복되는 코드를 한번만 작성해서 불러쓸 수 있습니다.
또한 코드의 용도를 구분해 가독성이 좋습니다.

 

함수를 작성할 때는 함수 코드를 들여쓰기를 해야 합니다.

 

함수를 호출할 때는 함수이름()을 적어주면 됩니다.

 

함수를 작성하고 호출할 때 주의할 점이 있습니다.
먼저 함수를 작성하고 함수를 호출해야 합니다.
파이썬은 코드가 위에서부터 순서대로 실행되기 때문입니다.

 

def test():
    print('test')

# 결과>>test
test()

 

def 함수이름(매개변수):
    함수 코드

함수의 기본 구조2 입니다.

 

괄호에 매개변수를 작성하면 함수에 값을 받아 사용할 수 있습니다.

 

def add1(a, b):
    print(a + b)

# 결과>>3
add1(1, 2)

 

def 함수이름(매개변수):
    함수 코드
    return 반환값

함수의 기본 구조3 입니다.

 

함수에서 return을 사용하면 값을 반환할 수 있습니다.
return에 값이 없으면 기본은 None입니다.

 

def add2(a, b):
    return a + b

# 결과>>3
print(add2(1, 2))

'Python > 파이썬 기초' 카테고리의 다른 글

파이썬_기초 30_딕셔너리(Dictionary)  (0) 2020.05.30
파이썬_기초 29_lambda  (0) 2020.05.19
파이썬_기초 27_find(), index()  (0) 2020.04.28
파이썬_기초 26_slice()  (0) 2020.04.28
파이썬_기초 25_sorted()  (0) 2020.04.22

 find()

 

find()는 문자나 문자열의 위치를 알려주는 함수입니다.

 

find('문자나 문자열')

find()의 기본 구조입니다.

 

a='test'

# 결과>>2
print(a.find('s'))
# 결과>>-1
print(a.find('a'))

처음으로 문자나 문자열이 나온 위치를 반환합니다.
문자나 문자열이 없을 경우 -1을 반환합니다.

 

 

 index()

 

index()는 문자나 문자열의 위치를 알려주는 함수입니다.

 

index('문자나 문자열')

index()의 기본 구조입니다.

 

a='test'

# 결과>>2
print(a.index('s'))

# 결과>>에러 발생
print(a.index('a'))

처음으로 문자나 문자열이 나온 위치를 반환합니다.
문자나 문자열이 없을 경우 오류를 발생시킵니다.

 

print(a.index('a'))의 에러 메시지입니다.

 

 

*find()와 index()의 차이점은 문자나 문자열이 존재하지 않을 경우 find()은 -1을 반환하고 index()는 오류를 발생시킨다는 점입니다.

'Python > 파이썬 기초' 카테고리의 다른 글

파이썬_기초 29_lambda  (0) 2020.05.19
파이썬_기초 28_def 함수이름()  (0) 2020.05.19
파이썬_기초 26_slice()  (0) 2020.04.28
파이썬_기초 25_sorted()  (0) 2020.04.22
파이썬_기초 24_sys.stdin.readline  (0) 2020.04.22

slice()

 

slice()는 리스트나 문자열을 잘라주는 함수입니다.

 

리스트[시작인덱스:끝인덱스]

slice()의 기본구조입니다.

 

시작인덱스부터 가져와서 끝인덱스 -1까지 가져옵니다.

 

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

# 결과>>[2, 3]
print(a[1:3])

# 결과>>[2, 3, 4, 5]
print(a[1:])

# 결과>>[1, 2, 3]
print(a[:3])

# 결과>>[1, 2, 3, 4, 5]
print(a[:])

a[1:3] : 인덱스 1부터 인덱스 2까지 반환합니다.
a[1:] : 인덱스 1부터 끝까지 반환합니다.
a[:3] : 처음부터 인덱스 2까지 반환합니다.
a[:] : 처음부터 끝까지 모두 반환합니다.

 

리스트[시작인덱스:끝인덱스:인덱스증가폭]

slice()의 기본구조2입니다.

 

a=[1,2,3,4,5,6,7,8]

# 결과>>[2, 4, 6]
print(a[1:7:2])

# 결과>>[2, 4, 6, 8]
print(a[1::2])

# 결과>>[1, 3, 5, 7]
print(a[:7:2])

# 결과>>[1, 3, 5, 7]
print(a[::2])

# 결과>>[1, 2, 3, 4, 5, 6, 7, 8]
print(a[::])

# 결과>>[8, 7, 6, 5, 4, 3, 2, 1]
print(a[::-1])

a[1:7:2] : 인덱스 1부터 인덱스를 2씩 증가하면서 인덱스 6까지 반환합니다.
a[1::2] : 인덱스 1부터 인덱스를 2씩 증가하면서 끝까지 반환합니다.
a[:7:2] : 처음부터 인덱스를 2씩 증가하면서 인덱스 6까지 반환합니다.
a[::2] : 처음부터 인덱스를 2씩 증가하면서 끝까지 반환합니다.
a[::] : 처음부터 끝까지 모두 반환합니다.

a[::-1] : 처음부터 -1칸 간격으로 끝까지 반환합니다.(= 역순으로 반환합니다)

 sorted()

 

sorted()는 이터러블 객체(리스트, 튜플 등등)로부터 정렬된 리스트를 생성합니다.

즉, sorted()는 기존의 리스트를 변경하는 것이 아니라 정렬된 새로운 리스트를 반환합니다.

 

기존 리스트도 필요하면 sorted()를 쓰면 좋습니다.

 

sort()를 사용해도 정렬이 되지만 이 경우에는 리스트 자체를 변경합니다.

 

a=[3,1,4,2,5]
b=[3,1,4,2,5]

a.sort()
sorted(b)

# 결과>>[1, 2, 3, 4, 5]
print(a)

# 결과>>[3, 1, 4, 2, 5]
print(b)

c=sorted(b)

# 결과>>[1, 2, 3, 4, 5]
print(c)

b의 결과를 보면 정렬이 되지 않고 기존 리스트 b의 값인 것을 알 수 있습니다.

sorted()는 리스트 자체를 바꾸지 않기 때문에 c에 sorted(b)를 적용했습니다.

그 후 c의 결과를 출력하면 정렬이 된 것을 알 수 있습니다.

 

a=[3,1,4,2,5]
b=['aaa','dddd','e','bb','ccccc']

# 결과>>[5, 4, 3, 2, 1]
print(sorted(a, reverse=True))

# 결과>>['e', 'bb', 'aaa', 'dddd', 'ccccc']
print(sorted(b, key=len))

sorted()에 있는 인자들입니다.

 

reverse인자 : reverse=True를 추가하면 내림차순으로 정렬

key인자 : 비교할 함수를 사용하면 해당 함수의 반환값을 비교해 정렬

 

 

+ Recent posts