Python
-
리스트 중복 요소 제거Python 2021. 1. 21. 10:43
중복을 허용하지 않는 집합(set)을 사용하면 된다. set()을 통해 변환 후 다시 리스트로 변환하면 된다. list(set(list)) ex) li = [1, 2, 3, 4, 5, 1, 2, 3] new_li = list(set(li)) [1, 2, 3, 4, 5] 대신 set()을 사용하면 순서가 섞일 수 있다. 순서를 섞고 싶지 않다면 for문을 사용한다. li = [1, 2, 3, 4, 5, 1, 2, 3] new_li = [] for a in li: if a not in new_li: new_li.append(a) print(new_li) [1, 2, 3, 4, 5]
-
리스트 안 빈 문자 제거하기Python 2021. 1. 21. 10:35
첫 번째 방법, 컴프리헨션 사용 [x for x in list if x] ex) li = ["Korea", "", "japan", "CHINA", "", "america"] print(li) new_li = [x for x in li if x] # 빈 문자(False)가 아닐 때 그 값을 # 새로운 리스트로 만든다. print(new_li) ['Korea', '', 'japan', 'CHINA', '', 'america'] ['Korea', 'japan', 'CHINA', 'america'] 두 번째 방법, filter 사용 (filter(None, list)는 filter(lambda x: x is not None, list)를 의미한다.) list(filter(None, list)) ex) li = ..
-
변수의 값 바꾸기 (swap)Python 2021. 1. 21. 10:32
튜플은 여러 개의 변수에 값을 한꺼번에 대입하는 기능이 있다. tu = "이순신", "김유신", "강감찬" lee, kim, kang = tu print(lee, kim, kang) 이순신 김유신 강감찬 이때 좌변의 변수 개수와 튜플의 요소 개수는 같아야 한다. 튜플에 저장된 요소를 풀어헤쳐(Tuple Unpacking) 각 변수에 나누어 대입하는 셈이다. 이 기능을 사용하면 두 변수의 값을 한번에 초기화하고 두 값을 쉽게 교환할 수 있다. ex) a, b, c = 12, 34, "string" print(a, b, c) a, b, c = c, b, a print(a, b, c) 12 34 string string 34 12
-
iterable 속 숫자를 다 더해주는 sum 내장함수Python 2021. 1. 21. 10:29
sum의 기본 형태는 다음과 같다. sum(iterable[, start = 0]) 값을 차례대로 꺼낼 수 있는 iterable 자료형을 첫 인자로 제시하고, 옵션으로 처음으로 더해줄 숫자를 정해줄 수 있다. 다만 iterable의 자료형의 요소들이 숫자로 구성되어 있어야 한다. 만일 숫자로 구성되어 있지 않거나 데이터 타입이 섞여있다면 에러가 난다. for문을 돌면서 리스트 혹은 튜플 내의의 합을 구할 필요 없이 숫자의 모든 합을 구하고 싶다면, sum 내장함수를 사용한다. ex) score = [88, 95, 70, 100, 99] score_sum = sum(score) print(score_sum) 452 두 번째 인자에 값을 전달했을 때 score = [76, 92, 84, 100, 35] sc..
-
python의 삼항 연산자Python 2021. 1. 21. 10:17
대부분의 언어의 삼항 연산자는 ?와 :를 사용해 조건의 값에 따라서 true 혹은 false 값을 취한다. [조건] ? [참일 경우 값] : [거짓일 경우 값] # 파이썬 지원 X 하지만 위의 삼항 연산자는 파이썬에서 지원하지 않는다. 대신 if와 else를 활용한다. [참일 경우 값] if [조건] else [거짓일 경우 값] # 파이썬 지원 O ex) a = 3 b = 9 print("a가 b보다 큽니다" if a > b else "a는 b보다 작거나 같습니다.") a는 b보다 작거나 같습니다.
-
zfill()과 rjust()와 ljust()Python 2021. 1. 20. 17:08
zfill(width) 메서드 -> width만큼 공간을 확보하고 문자열을 오른쪽에 배치하고 남은 공간에 0을 배치한다. print("3".zfill(3)) print("ss".zfill(4)) 003 00ss rjust(width [,fillchar]) -> width만큼 공간을 확보하고 문자열을 오른쪽에 배치하고 남은 공간에 디폴트 값(공백) 혹은 fillchar을 배치한다. print("111".rjust(5)) print("111".rjust(5, "0")) print("111".rjust(6, "b")) 111 00111 bbb111 ljust(width [,fillchar]) -> width만큼 공간을 확보하고 문자열을 왼쪽에 배치하고 남은 공간에 디폴트 값(공백) 혹은 fillchar을 배치..
-
2진수, 8진수, 16진수 표현Python 2021. 1. 20. 17:04
- 파이썬에서 진수는 각각 접두어를 가진다. 2진수(binary) -> ob 8진수(octal) -> 0o 16진수(hexadecimal) -> 0x - 10진수에서 2진수, 8진수, 16진수로 변환하는 방법은 먼저 내장 함수를 사용한다. 2진수(binary) -> bin() 8진수(octal) -> oct() 16진수(hexadecimal) -> hex() print(hex(26)) print(oct(26)) print(bin(13)) 0x1a 0o32 0b1101 - 2진수, 8진수, 16진수 문자를 10진수로 변환하는 방법은 int의 두 번째 매개변수로 값을 넣어준다. print(int('0b1010', 2)) print(int('0o12', 8)) print(int('0xa', 16)) 10 10..