안녕세계
list에서 element 개수를 세는 방법에 대해 알아봅니다. 특정 element 개수 세기numbers = [1, 2, 3, 4, 1, 2, 1] ret = numbers.count(1) print(ret) # 3 모든 element 개수 세기from collections import Count numbers = [1, 2, 3, 4, 1, 2, 1] ret = Counter(numbers) print(ret) # Counter({1: 3, 2: 2, 3: 1, 4: 1}) print(dict(ret)) # {1: 3, 2: 2, 3: 1, 4: 1} for key in ret: print('key:', key, 'value:', ret[key]) # key: 1 value: 3 # key: 2 va..
list에서 dictionary를 정렬하는 방법에 대해 알아봅니다.people = [ {'name': 'kim', 'age': 10}, {'name': 'lee', 'age': 20}, {'name': 'park', 'age': 30}, {'name': 'choi', 'age': 40}, {'name': 'kim', 'age': 50}, ] [방법1] sorted()+ lambda - sorted()와 lambda를 사용하여 name으로 오름차순 정렬 후 age로 오름차순 정렬하는 방법입니다.data = sorted(people, key=lambda person: (person['name'], person['age'])) for d in data: print(d) # {'name': 'choi', 'ag..
파이썬에서 .sort() 메서드와 built-in 함수 sorted()의 차이를 알아봅니다. .sort()list.sort([reverse=][, key=]) - 원본 리스트를 정렬하되 반환 값은 None 입니다.- 원본 리스트의 순서를 변경합니다. (원본 리스트에 영향 있음) 예제l1 = [1, 3, 2] print(l1.sort()) # None print(l1) # [1, 2, 3] sorted()sorted(iterable[, key=][, reverse=]) - 정렬된 새로운 리스트를 반환합니다. (원본 리스트에 영향 없음)- 모든 iterable에 동작합니다. (list, tuple, dict, 문자열 등) 예제l2 = [1, 3, 2] print(sorted(l2)) # [1, 2, 3] p..
파이썬 표준 라이브러리인 logging을 활용하여 로그를 남기는 방법에 대해 알아봅니다. [방법1] stream에 로그 남기기- 스트림(콘솔)에 로그를 찍기 위해 logging을 사용합니다.import logging logging.info('my INFO log') logging.warning('my WARNING log') # WARNING:root:my WARNING log위 코드를 실행하면 warning level만 출력되는 이유?- logging의 default log level이 warning으로 되어있기 때문입니다. 다음 처럼 logging의 basicConfig level을 변경하면 됩니다.import logging logging.basicConfig(level=logging.DEBUG) l..
영문 대문자와 숫자로 랜덤 문자열을 생성하는 방법을 알아봅니다. 방법import random import string print(''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)))Referenceshttps://stackoverflow.com/questions/2257441/random-string-generation-with-upper-case-letters-and-digits-in-python
list에서 dictionary 속성(property)을 검색하는 방법에 대해 알아봅니다. dicts = [ {'id': 1, 'name': 'kim', 'age': 10}, {'id': 2, 'name': 'lee', 'age': 20}, {'id': 3, 'name': 'park', 'age': 30}, {'id': 4, 'name': 'kim', 'age': 40}, ] 예제 (Python3 - 속성 검색) - 가장 먼저 검색되는 dictionary가 반환됩니다. ret = next((item for item in dicts if item['id'] == 1), None) print(ret) # {'id': 1, 'name': 'kim', 'age': 10} 예제 (Python2 - 속성 검색) -..
Object에 특정 attribute가 존재하는지 확인하는 방법을 알아봅니다. 예제class Person: name = None def __init__(self, name): self.name = name person = Person('kim') if hasattr(person, 'name'): print(person.name) # kim
파이썬 리스트의 중복을 제거하고 싶을때 1차원 리스트는 set()를 사용하면 편리하게 제거할 수 있습니다.items = [1, 2, 2, 3, 3, 3] print(set(items)) # {1, 2, 3} 이를 활용하여 2차원 리스트도 다음과 같은 방법으로 중복을 제거할 수 있습니다.items = [[1, 2], [2, 1], [1,3]] print(items) # [[1, 2], [2, 1], [1, 3]] items = list(set([tuple(set(item)) for item in item])) print(items) # [(1, 2), (1, 3)] formatted = [] for item in items: formatted.append(str(item[0], str(item[1]))) ..