1
Code Kata day7
2
Django 복습
Code Kata day7 👉 링크
1. lambda function : small anonymous function
syntax
lambda arguments : expression
def myfunc(n):
return lambda a : a * n
x = myfunc(2)
print(x(11))
#22
2. sorted() : returns a sorted list of the specified iterable object
syntax
sorted(iterable, key, reverse)
sorted() vs .sort()
- sorted() 는 내장함수로 리스트 이외의 모든 iterable을 인수로 받을 수 있다.
input의 iterable이 아닌 iterable을 정렬해서 만든 새로운 리스트를 반환한다.- sort()는 리스트의 메소드함수로 리스트만 인수로 받는다.
input의 리스트를 정렬해서 반환한다.
딕셔너리에서 sorted() 응용하기
dict = {'a':3, 'b':2, 'c':1}
1. 딕셔너리의 key값 정렬
sorted(dict)
#['a', 'b', 'c']
sorted()를 이용해 딕셔너리를 정렬하면 key
값만 반환한다.
sorted(dict.keys())
와 동일하다.
2. 딕셔너리의 value값 정렬
sorted(dict.values())
#[1, 2, 3]
딕셔너리의 value
값을 지정해서 value
값을 반환할 수도 있다.
3. 딕셔너리.items() 정렬
#key값을 기준으로 정렬
sorted(dict.items(), key=lambda x:x[0])
#value값을 기준으로 정렬
sorted(dict.items(), key=lambda x:x[1])
lambda 함수를 사용해서 sorted함수의 키를 지정한다. key로 지정한 값을 기준으로 오름차순 정렬된다.
4. 문자열 정렬
str = ['abc', 'abd', 'bad']
#문자열의 0번 인덱스와 1번 인덱스 순서대로 기준으로 정렬
sorted(str, key=lambda x:(x[0],x[1])
#['abc', 'acd', 'bad']
문자열의 0번 인덱스를 기준으로 정렬한 뒤, 1번 인덱스를 기준으로 다시 정렬한다.
for
을 사용해서 x[n]을 돌리면 문자열의 길이만큼 돌리면 마지막 인덱스까지 정렬할 수 있을 거 같음 ㅎ
3. enumerate() : 열거하다/ input의 리스트의 값과 인덱스값을 튜플에 담아서 반환하는 함수
str = ['A', 'B', 'C']
x = enumerate(str)
print(list(x))
#[(0, 'A'), (1, 'B'), (2, 'C')]
dict['key']
vs dict.get('key')
dict = {'a', 1 }
print(dict['b']) #오류발생
print(dict.get('b')) #None 반환
json 데이터를 사용하기위해서 딕셔너리에서 정보를 꺼내오는 과정에서 json 데이터에 없는 key값을 사용했을 때 생기는 오류를 방지하기 위해서 get 메소드를 사용한다.
request 메세지의 headers 에 Authorization
이란 키값과 함께 전송된다.
{ ..
'Authorization' : lafjkjglk(토큰)...
..}
파이썬에서 토큰을 사용할 때 json.loads를 사용하지 않고 그 자체의 데이터를 바로 이용가능하다.
token = request.headers.get('Authorization')