안녕세계
영문 대문자와 숫자로 랜덤 문자열을 생성하는 방법을 알아봅니다. 방법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]))) ..
count()문자 개수 세기s = 'Life is too short, You need Python' print(s.count('o')) # 5 find() 문자열에서 특정 문자 또는 문자열이 처음 나오는 인덱스를 반환합니다.만약, 찾는 문자나 문자열이 존재하지 않을 경우 -1을 반환합니다.s = 'Life is too short, You need Python' print(s.find('o')) # 9 print(s.find('x')) # -1 rfind()뒤에서 부터 시작해서 문자 또는 문자열이 처음 나오는 인덱스를 반환합니다.s = 'Life is too short, You need Python' print(s.rfind('o')) # 32 index()문자열에서 특정 문자 또는 문자열이 처음 나오는 ..
l[::], l[1:2:3], l[::-1] 처럼 index에 접근하는 방법을 extended slice라고 합니다. l[A:B:C] - index A부터 index B까지 C 간격으로 배열을 만들라는 의미 - index A가 None이면 처음부터(index가 0)이라는 의미 - index B가 None이면 마지막까지라는 의미 - index C가 None이면 하나씩이라는 의미 예제 l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(l[::2]) # 처음부터 끝까지 +두칸 간격으로 # [0, 2, 4, 6, 8] print(l[1::2]) # 인덱스 1부터 끝까지 +두칸 간격으로 # [1, 3, 5, 7, 9] print(l[::-1]) # 인덱스 마지막부터 끝까지 -한칸 간격으로 ..
map은 입력받은 iterable object의 각 요소를 함수로 수행된 결과를 묶어서 반환합니다. map(함수, )- map은 lazy evaluation(게으른 연산)을 진행해서 메모리를 절약합니다. - map은 map iterator 객체를 반환합니다. ※ lazy evaluation(게으른 연산)이란? - 계산 결과 값이 필요할 때까지 계산을 늦추는 것을 말합니다. - iterator, generator 객체가 해당합니다. - next() 메소드로 데이터를 순차적으로 호출 가능한 객체입니다. - 마지막 데이터까지 불러오면 다음은 StopIteration exception이 발생합니다. - iterable 객체를 iterator로 변환하고 싶다면 iter()라는 built-in 함수를 사용합니다. ..
index([object, start, stop])리스트에서 특정 value의 인덱스를 반환합니다. 만약 찾는 문자열이 존재하지 않을 경우 ValueError를 반환합니다.l = ['a', 'b', 'c', 'a'] print(l.index('a')) # 0 print(l.index('d')) # Traceback (most recent call last): # File "exp-list-method.py", line 2, in # print(l.index('d')) # ValueError: 'd' is not in list append([object]) 리스트의 마지막에 value를 추가합니다.l = ['a', 'b', 'c', 'a'] l.append('d') print(l) # ['a', 'b', ..