일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- python zip_longest
- 알고리즘풀기
- 잇츠디모
- 파이썬릿코드
- 파이썬 알고리즘
- leetcode풀이
- 파이썬 프로그래머스
- python 릿코드
- 파이썬알고리즘풀기
- 상가수익률계산기
- python priority queue
- 파이썬 알고리즘 풀기
- 릿코드 파이썬
- 릿코드풀기
- 릿코드풀이
- 코틀린기초
- 파이썬알고리즘
- 알고리즘풀이
- python 알고리즘
- python xor
- leetcode 풀기
- 파이썬릿코드풀기
- 릿코드 풀기
- python sorted
- 릿코드
- leetcode풀기
- python Leetcode
- 파이썬 릿코드
- binary search
- LeetCode
- Today
- Total
목록파이썬 (18)
소프트웨어에 대한 모든 것
파이썬에 pip로 설치된 모든 패키지에 대한 정보를 requirements.txt 파일로 생성 가능함 pip freeze > requirements.txt 위와 같이 생성하면 이상한 경로가 들어가게 되고 설치 시, "No such file or directory" 에러가 발생함. 아래 명령어를 사용해서 깔끔하게 패키지 정보를 추출 가능함 pip list --format=freeze > requirements.txt
파이참에서 None-ASCII characters 경고 제거하는 방법입니다. 1. 한글 클래스명이나 변수명을 사용하는 경우가 있습니다. 2. ASCII 문자를 사용하지 않으면 "None-ASCII characters" 워닝이 발생합니다. 상당히 거슬립니다. 3. pycharm 설정창 들어가서 해당 옵션은 off 할 수 있습니다. Settings -> Editor -> Inspections -> Non-ASCII characters 체크 박스를 해제 합니다. 4. 해제 후의 모습입니다. None-ASCII Characters 경고 문구가 사라졌습니다.
크롬이 자동업데이트되면 버젼 문제로 selenium에서 문제가 발생한다. 이러한 문제를 해결하기 위한, 크롬 드라이버를 자동으로 업데이트하는 패키지가 이미 존재한다. pip install chromedriver-autoinstaller 아래와 같이 사용하면 된다 import chromedriver_autoinstaller # 크롬 드라이버 다운로드. 이미 동일 버전이 존재한다면 다운로드 SKIP chromedriver_filepath = chromedriver_autoinstaller.install() # 크롬 드라이버 인스턴스 생성 chrome = webdriver.Chrome(chromedriver_filepath, chrome_options=options)
리스트에서 요소가 있는지 종종 확인하는(멤버십) 코드를 작성합니다. nums = [1, 3, 5, 7, 9] if 3 in nums: print('3 is in nums') 집합(set) 또한 멤버십 코드를 작성할 수 있습니다. 리스트와 동일하게 in 코드를 사용합니다. 그런데 궁금합니다. 누가 더 빠를까요???? 리스트는 배열처럼 사용하기 때문에 직관적으로 집합보다 더 느릴 것 같네요. 결론적으로, 멤버십의 시간 복잡도는 리스트는 평균적으로 O(n), 집합은 O(1)의 시간 복잡도를 갖습니다. 집합 자료구조는 해싱 구조를 갖습니다. 이것이 리스트와 다르게 속도 차이를 가져 옵니다. Set in Python can be defined as the collection of items. In Python, ..
else 키워드를 for 문과 함께 사용할 수 있습니다. for loop가 정상적으로 종료되면 else 절이 실행이 됩니다. 정상적인 종료라는 의미는 for 문이 break 구문을 만나지 않았다는 것을 의미 합니다. for i in range(5): print(i) else: print('completed for clause') for 문을 사용하다보면. for 문이 break 문을 통해서 강제 종료 되었는지 아닌지 확인할 필요가 있습니다. 소수를 구하는 예제 프로그램을 통해서 설명 하겠습니다. 반복문 내에서 % 연산자를 통해서 소수를 체크하는데 중간에 break 문을 만났다는 것은 소수가 아닌 것입니다. 그래서, prime_num 플래그 변수를 하나 둬서 prime_num을 False로 체크하고 bre..
파이썬도 열거형 enum을 지원합니다. 열거형(enumeration)은 고유한 상수값에 연결된 기호 이름의 집합니다. 열거형은 상수를 나타내는 데 보통 사용되기 때문에 열거형 멤버에 대핸 대문자로 사용하는 것을 지향합니다. Enum형 만들기 from enum import Enum class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 print(type(Color.GREEN)) print(Color.GREEN) print(Color.GREEN.name) 출력 Color.GREEN GREEN Enum형 반복하기(이터레이션 지원) 열거형은 정의 순서로 이터레이션을 지원합니다. from enum import Enum class Color(Enum): RED = 1 GREEN = 2 ..
파이썬의 사전 자료구조에서 첫번째 키를 가져오고 싶은 경우가 있습니다. 어떤 방법이 있을까요? 방법1) keys() 함수 dict.keys() 함수를 사용해서 iterable한 키를 얻고 리스트로 변환한 다음 0 index를 가져오는 방법이 있습니다. d = {} for i in range(1000000): d[i] = i first_key = list(d.keys())[0] print(f'첫번째 key : {first_key}') 출력 첫번째 key : 0 방법2) iter() 함수 iter() 함수를 이용해서 iterable한 dictionary items를 얻은 다음 next() 함수로 첫번째 키를 획득합니다. d = {} for i in range(1000000): d[i] = i first_ke..
2차원 리스트가 있고, 이를 1차원 리스트로 변환해야 하는 경우가 종종 발생합니다. 2차원 리스트 nums = [ [1, 2, 3], [4, 5], [6, 7, 8] ] 1차원 리스트로 변환 nums = [1, 2, 3, 4, 5, 6, 7, 8] 아주 다양한 방법들이 많은데 하나씩 살펴 보겠습니다. 방법1) 반복문 직관적으로 반복문을 이용해서 만듭니다. 빈 리스트에 계속 더해가면서 1차원으로 만들어 가는 방식입니다. nums = [ [1, 2, 3], [4, 5], [6, 7, 8] ] nums_flat = [] for arr in nums: nums_flat += arr print(nums_flat) 출력 [1, 2, 3, 4, 5, 6, 7, 8] 방법2) sum() 방법1의 반복문 기법을 자세히 ..