본문 바로가기

Programming/Python

(11)
[Python] 문자열 위치(index) 찾기 : index(), find() index() 문자열.index(찾을 문자열) : index()는 문자열에서 찾을 문자열의 첫 번째 Index를 반환해준다. 만약 문자가 존재하지 않으면 ValueError 에러가 발생하기 때문에 try-except로 처리해야 한다. str = "hello python" try : index = str.index("py") print("index: " + index)# index: 6 except : print("Not found") find() 문자열.find(찾을 문자열), 문자열.find(찾을 문자열, 시작 인덱스, 끝 인덱스) : 문자열 내에 찾을 문자열이 존재하면, 찾고자 했던 문자열 첫 번째 index를 반환해준다. 그렇지 않다면 -1을 반환한다. str = "hello python" inde..
[Python] 문자열과 숫자, 변수 결합하여 출력하기 문자열 출력하기 문자열은 따옴표로 묶고, 여러 개 문자열을 함께 출력하고 싶다면 콤마(,)나 덧셈 연산자(+)를 사용하여 출력하면 된다. 덧셈 연산자로 결합할 시엔 공백을 직접 추가해야 한다. 곱셈 연산자(*)를 사용하면 문자열을 쉽게 붙일 수 있다. print("Hello world!")# Hello world! print("Hello", "world!")# Hello world! print("Hello" + "world!")# Helloworld! s = "Hello world!" print(s)# Hello world! print(s + s)# Hello world!Hello world! print(s * 2)# Hello world!Hello world! 숫자 출력하기 숫자도 그대로 출력하지만, ..
[Python] 나누기 연산자 (몫 소수점 포함/버리기 , 나머지 구하기) 매번 헷갈리는 나누기 연산자를 정리해보았다! 몫과 나머지를 구하는 것 외에도 중요한 것은 데이터 타입과 0으로 나눌때인 것 같다. 특히 0으로 나눌 때는 에러가 나기 때문에 주의해야한다. 나누기 연산자 연산자 설명 / 나누어 몫을 구함 (소수점 포함), 결과가 float 자료형(Data Type)으로 처리됨 // 나누어 몫을 구함 (소수점 이하 버리고, 정수 부분만 포함) % 나머지 코드 예시 print(10 / 5)# 2.0 print(10 // 5)# 2 print(10 % 5)# 0 print(10 / 3)# 3.3333333333333335 print(10 // 3)# 3 print(10 % 3)# 1 print(0 / 10) # 0.0 print(10 / 0)# ZeroDivisionError:..
[Python] 2진수, 8진수, 10진수, 16진수 변환하기 10진수 → 2진수, 8진수, 16진수 1. bin(숫자), oct(숫자), hex(숫자) : 접두어 포함된 문자열 반환 2. format(숫자, '#b'), format(숫자, '#o'), format(숫자, '#x') : 접두어 포함된 문자열 반환 3. format(숫자, 'b'), format(숫자, 'o'), format(숫자, 'x') : 접두어 제외된 문자열 반환 1. bin(숫자), oct(숫자), hex(숫자) 각 내장함수를 통해 진수를 변환할 수 있으며, 반환 값은 문자열(str)이다. bin() : 10진수 → 2진수 oct() : 10진수 → 8진수 hex() : 10진수 → 16진수 print(bin(6))# '0b110' print(oct(6))# '0o6' print(hex(6)..
[Python] 문자와 아스키코드 변경하기 백준 문자열 문제를 풀다가 알게된 함수이다. 간단하게 내장 함수를 통해서 결과를 얻을 수 있었다. 문자를 아스키코드로 변경하기 print(ord('A'))// 65 아스키코드를 문자로 변경하기 print(chr(65))// 'A' 참고 이미지
[Python] 문자열 거꾸로 출력하기 : reverse(), reversed(), 슬라이싱(slicing) 문자열 거꾸로 출력하는 방법에는 여러 가지가 있지만, 그 중 3가지 방법을 소개한다. 함수를 활용하는 방법과 리스트 슬라이싱을 통한 방법이다. reverse() reverse() 함수는 리스트에 적용되는 함수이기 때문에, 문자열을 리스트로 치환한 뒤 사용해주어야 한다. word = 'hello' temp = list(word)# 문자열을 list로 치환 temp.reverse()# reverse 함수 사용 print(''.join(temp))# olleh reversed() reversed()는 문자열에 바로 적용이 가능하다. 하지만 결과는 제너레이터(iterator 를 생성해 주는 함수)이기 때문에 join()을 통해 문자열로 합쳐주는 과정이 필요하다. word = 'hello' print(''.joi..
[Python] 딕셔너리(Dictionary) 키(Key), 값(Value) 기준으로 정렬하기 딕셔너리(Dictionary) 키(key), 값(Value) 기준으로 정렬하기 딕셔너리는 { 키(Key) : 값(Value) }의 쌍으로 이루어져 있기 때문에 각 요소에 대해 정렬하는 방법이 다르다. 기본적으로 오름차순 정렬이며, reverse=True를 해주면 내림차순이 된다. 키(Key)를 기준으로 정렬 sorted(dic.items())# 오름차순 정렬 sorted(dic.items(), reverse=True)# 내림차순 정렬 값(Value)을 기준으로 정렬 sorted(dic.items(), key=lambda x:x[1])# 오름차순 정렬 sorted(dic.items(), reverse=True, key=lambda x:x[1]) # 내림차순 정렬
[Python] heapq Heap 파이썬의 heapq 모듈에 대해 알아보기 전에 먼저 힙이 무엇인지 알아야 할 것 같다. 힙 자료구조는 완전 이진 트리를 기초로 하는 자료구조이며, 완전 이진트리란 마지막을 제외한 모든 노드에서 자식들이 꽉 채워진 이진트리를 말한다. 그래서 이를 이용한 힙 정렬은 최대 힙 트리나 최소 힙 트리를 구성해 정렬을 하는 방법으로, 시간복잡도는 O(NlogN)으로 빠른 정렬에 속한다. 최소 힙(Min Heap) : 부모 노드의 키값이 자식 노드의 키값보다 항상 작은 힙 최대 힙(Max Heap) : 부모 노드의 키값이 자식 노드의 키값보다 항상 큰 힙 heapq 파이썬에서는 heapq 모듈을 통해 힙을 쉽게 표현할 수 있다. 내장 모듈로써 따로 설치없이 바로 사용가능하며, 리스트를 최소 힙의 형태로 정렬..