파이썬을 공부하러 인터넷을 돌아다니다 흥미로운 걸 보게 되었다. 지능형 리스트(list comprehension)를 쓰느냐, map 함수를 쓰느냐에서 지능형 리스트를 쓰는 게 좋다는 것. 사실 지능형 리스트는 for 문이 들어가 있어서 map 함수를 쓰는 게 좋다고 생각했는데, 아니었다. a = [sum(i) for i in s if i>20] b = list(filter(lambda x x>20, map(sum,s)) 만약에 리스트 내에 for 문이 들어 있는 값을 할당한다면, 무조건 리스트 컴프리 헨션이 빠르다. 이는 데이터 값이 많을수록 차이가 훨씬 난다. https://testspoon.tistory.com/186 RePythonOOP 9일차 파이썬 컨테이너 VS 플랫, 가변 VS 불변, 리스트 ..
bin,oct,hex 함수를 사용할 때는 항상 0b,0o,0x가 붙는다. print(bin(10)) print(oct(10)) print(hex(10)) 0b1010 0o12 0xa 이럴 때는 두 가지 방법이 있다. 1. 인덱싱하기 print(bin(10)[2:]) print(oct(10)[2:]) print(hex(10)[2:]) 1010 12 a 자체적으로 2번째 항목부터 인덱싱을 하면 빠진다. 2. 포맷함수 사용해서 변환 format(10진수 숫자, '변환하고자 하는 진수의 표현방식')으로 사용하면 된다. 당연하게도 b는 2진수, o는 8진수, x는 16진수다. format(10, 'b') format(10, 'o') format(10, 'x') +보너스 16진수 변환 할 때 소문자로 나온다. 만약..
문자열을 포매팅 할 때 사용하는 함수를 나열한다. 1. %포맷팅 %문자를 사용해서 포매팅 '%+자료형 종류' % 값의 형식으로 사용한다 print("%f" % n) print("%0.0f"% n) print('%d %d' % (a,b)) print('%02d %0.4f' % (a,b)) 형식으로 사용 자료형 문자 정수 %d 실수 %f 문자열 %s 8진수 %o 16진수 %x % %% 여러 개 변수 형태를 알고 있어야 한다. 2. format 함수 내장함수 format()을 사용하여 포매팅 print("이것은 프린터 {0} 입니다." .format(3)) #값 입력 print("{0:02d}.{1:03d}.{2:01d}" .format(a,b,c)) #변수입력 print("{Y:02d}{M:02d}".for..
10진법을 N 진법으로 변환하는 가장 기본은 해당 수로 몫과 나머지를 구해나가며, 나중에 나머지를 역순으로 붙인다는 것이다. python에서는 int 함수나 hex, bin 같은 내장 함수로 10진수를 2,8,16 진수로 바꿀 수 있고, n 진수에서 10진수로 바꾸는 것도 가능하다. 하지만 10진법을 n진법으로 바꾸기 위해서는 따로 설정해주는 함수가 필요한데, 이는 다음과 같다. import string tmp = string.digits+string.ascii_uppercase+string.ascii_lowercase #진수 변환 함수 print(tmp) def convert(num, base) : q, r = divmod(num, base) #몫과 나머지를 구한다. if q == 0 : return ..