파이썬

파이썬 - 데이터 분류 함수

Gamcho 2017. 11. 26. 18:13

-리스트, 튜플, 딕셔너리 등의 데이터를 분류할때, sorted 함수와 .sort 메소드를 쓴다.

  ※sort메소드는 값을 return하지 않는다.

메소드는 튜플,딕셔너리 등 데이터에 쓸 수 없다. 오직 리스트만 가능




-sorted 함수


>>> list = [6,1,3,5,4,9,2]

>>> s_list = sorted(list)  #순서를 반대로, sorted(list, reverse=True)

>>> 

>>> print(s_list)

[1, 2, 3, 4, 5, 6, 9]




-튜플 


>>> list_t = (6,1,3,5,4,9,2)

>>> s_list_t = sorted(list_t)

>>> print(s_list_t)

[1, 2, 3, 4, 5, 6, 9]

>>> 




-딕셔너리


>>> dic = { 'name': 'bob', 'job': 'sales', 'age': 25,}

>>> s_dic = sorted(dic)

>>> print(s_dic)

['age', 'job', 'name']



-절대값



>>> list = [-7, -4, -1, 2, 4, 6]

>>> list_s = sorted(list, key=abs) #abs 절대값

>>> print (list_s)

[-1, 2, -4, 4, 6, -7]



-def

e1 = employee('bob', 38, 80000)
e2 = employee('sally', 25, 70000)
e3 = employee('john', 43, 90000)

employees = [e1, e2, e3]

def e_sort(emp):
retrun emp.name #name -> salary, age로 바꿔서 분류 할 수 있음

s_employees = sorted(employees, key=e_sort)

print(s_employees)



-lambda


s_employees = sorted(employees, key=lambda e: e.name)



-attrgetter

from operator import attrgetter
s_employees = sorted(employees, key=attrgetter('age'))




-sort 메소드


>>> list = [6,1,3,5,4,9,2]

>>> list.sort()      #순서를 반대로, list.sort(reverse=True)

>>> print(list)

[1, 2, 3, 4, 5, 6, 9]