본문 바로가기

PL (Programming Language)/Python20

[Python] 파이썬 for - else, while - else 구문 사용법과 예시 파이썬에서만 볼 수 있는 특수한 구문 형태인 for - else문과 while - else문을 알아보겠습니다. [ Contents ] 1. For - else for i in range(n): if i == 4: break else: print("n은 4이하 입니다.") for문에서의 else문은 "break 등으로 중간에 끊기지 않고, 전부 순회했을 때 실행되는 코드'입니다. 만약 break문으로 중간에 끊겼다면, else문은 실행되지 않습니다. 마지막 순회에서 맨 마지막에 break를 만나도, else문은 실행되지 않습니다. 즉, break문 실행 여부에 따라 else문의 실행이 결정됩니다. break와 동일한 기능을 하는 exit() 등을 쓰더라도, break를 만나지 않았기 때문에 else문이 실.. 2022. 4. 21.
[Python] 파이썬 for문의 iterable 속성을 통한 순회 (list, tuple, dictionary 등) 반복문 for문에 대해서 알아봅니다. 파이썬의 for문은 단순한 반복문보다는, 객체 내 원소를 하나하나 순회하는 구문입니다. 이러한 특성을 가진 for문의 예시까지 살펴보겠습니다. [ Contents ] 1. 반복문 For for 변수 in 순회 가능한 객체: 반복할 행위 for문은 여러 값이 저장된 자료형에서 하나씩 꺼내 변수에 넣고, 반복 수행하는 제어문입니다. C/C++/Java와 같은 전통적인 언어와 달리, for문은 정수 인덱스로 반복 횟수를 정하지 않습니다. 객체의 요소 개수에 따라, 반복 횟수가 정해집니다. 객체 내 원소를 다 꺼낼 때까지 반복하죠. for i in range(N): N번 반복문을 수행 그렇기에 반복 횟수만을 지정하려면, range() 함수를 이용해야 합니다. range(st.. 2022. 4. 18.
[Python] 파이썬 딕셔너리 value로 key 찾는 방법 Dictionary 구조는 key 값으로 value 값을 찾는 데에 특화되어 있습니다. 국어사전에 비유하면 찾고자 하는 단어의 뜻은 쉽게 알 수 있으나, 해당 뜻을 가진 단어는 찾기가 매우 어렵습니다. 파이썬의 딕셔너리 구조도 마찬가지입니다. 원하는 value 값을 가진 key를 찾기 위해서는 일일이 조사해야 합니다. [ Contents ] 1. for문을 활용한 전수조사 def find_value(dictionary, finding_value): for key, value in dictionary.items(): if value == finding_value: return key 일일이 for문으로 해당하는 value를 가진 key가 있는지 조사합니다. 발견하면 바로 key를 반환합니다. def fin.. 2022. 4. 13.
[Python] 파이썬 딕셔너리(Dictionary) 연산 및 메서드 파이썬 딕셔너리 자료형에 대해 알아보고, 관련 연산과 메서드까지 살펴보겠습니다. [ Contents ] 1. 딕셔너리(Dictionary)란? 딕셔너리 명 = {key1: value1, key2: value2, ...} 딕셔너리는 파이썬에서 기본으로 제공해주는 '해시 맵(Hash map)' 자료형입니다. key-value의 쌍으로 저장되며, key는 책갈피 역할을 합니다. 즉, key를 통해서 value를 찾는 구조입니다. 마치 사전에서 단어(key)를 찾으면, 그 단어에 대한 설명(value)을 볼 수 있는 것과 비슷합니다. 딕셔너리 명[key] 딕셔너리는 인덱스 대신에 'key'를 통해서 'value'에 접근합니다. 만약 key가 없다면, 에러가 발생합니다. 집합과 마찬가지로, key는 중복해서 저장.. 2022. 4. 12.
[Python] 파이썬 집합(set) 연산 및 메서드 파이썬 자료형 set의 특성과 연산, 메서드까지 알아보겠습니다. [ Contents ] 1. 집합(set)이란? 집합명 = {원소1, 원소2, ...} 집합은 { } 안에 원소들을 저장합니다. 수학에서의 '집합'과 동일한 특성과 메서드를 가지고 있습니다. 주로 '중복 제거'에 많이 사용합니다. (집합은 중복된 원소가 있을 수 없습니다.) 특이한 점은 '집합'은 원소 간의 순서가 없기 때문에, 인덱스 접근을 할 수 없습니다. 2. 집합(set) 연산 수학에서의 집합 연산을 대부분 제공합니다. | (합집합) A | B: A, B 집합의 원소를 합칩니다. 이때, 중복되는 원소는 제거됩니다. | 기호는 Enter 위 \에 있습니다. - (차집합) A - B: A집합에서 B집합과의 공통 원소를 제거합니다. & (.. 2022. 4. 12.
[Python] 튜플(Tuple)이란? 튜플 연산과 메서드 파이썬의 기본 자료형인 '튜플(Tuple)'에 대해서 알아보고, 연산자 및 메서드까지 살펴보겠습니다. [ Contents ] 1. 튜플(Tuple) 튜플명 = (항목1, 항목2, ...) 튜플은 ( ) 안에 데이터를 저장합니다. 리스트와 비슷하지만, 튜플은 값을 변경할 수 없습니다. 이를 immutable(불변) 하다고 하며, 데이터를 안전하게 보관할 수 있습니다. 따라서 리스트처럼 요소를 추가, 삭제, 변경할 수 없습니다. 하지만 동일한 튜플명으로 새로운 값을 대입하는 건 가능합니다. 이런 경우 기존의 튜플 데이터가 사라지니, 주의해야 합니다. 튜플의 항목이 1개일 때도 주의해야 합니다. 그냥 ( )만 하면, 괄호로 오인합니다. 그래서 첫 번째 항목 끝에 ,를 추가해야 튜플로 인식합니다. 2. 튜플 연.. 2022. 4. 12.
[Python] 리스트 연산 및 메서드 함수 파이썬 리스트의 연산 및 함수(메서드)를 알아보고, 예제도 함께 살펴보겠습니다. [ Contents ] 1. 리스트 연산 덧셈(+) 리스트 간 덧셈은 확장(expand) 개념으로, 두 리스트를 합쳐줍니다. 덧셈은 리스트끼리만 할 수 있습니다. 곱셈(*) 리스트를 상수배할 수 있습니다. 리스트 * N은 리스트를 N번 반복한다는 뜻입니다. 리스트 간 곱셈은 불가능하며, 리스트와 '상수'만 곱할 수 있습니다. in(항목 확인) 리스트에 해당 항목이 있는지 확인합니다. 있을 경우 True, 없을 경우 False를 반환합니다. 2. 리스트 함수 len() 리스트의 길이를 반환하는 함수입니다. 리스트의 길이는 '항목의 개수'를 뜻합니다. append() 리스트에 항목을 추가하는 메서드입니다. 리스트는 모든 자료형을.. 2022. 4. 11.
[Python] 리스트 생성 및 초기화 방법 (feat. 2차원 리스트 초기화) 리스트를 생성하고 초기화하는 방법에 대해서 알아보겠습니다. [ Contents ] 1. 리스트 생성 및 초기화 list = [0] * N 리스트 연산을 이용해서 [0]이 N개인 리스트를 생성할 수 있습니다. range(start, end, stride): start부터 end-1까지, stride 만큼씩 증가하는 수열 range 함수를 이용해서 특정 수열을 생성할 수 있습니다. 보통은 for문에서 많이 사용하나, 리스트 초기화에도 사용할 수 있습니다. stride를 2씩 증가시켜서, 1부터 10까지 중 홀수만 포함된 리스트를 생성할 수도 있습니다. 2. 2차원 리스트 초기화 1차원 초기화와 마찬가지로, 2차원 초기화도 리스트 곱셈을 이용해서 하면 될 거 같습니다. 하지만, 이러한 초기화에는 큰 문제점이 .. 2022. 4. 11.
[Python] 리스트(List)란? 리스트 인덱싱(indexing)과 슬라이싱(slicing) 리스트 자료형에 대해 알아보고, 리스트 인덱싱과 슬라이싱을 예제와 함께 살펴보겠습니다. [ Contents ] 1. 리스트(List) 리스트(List): 여러 데이터들을 묶어서 목록화하는 자료형 데이터의 유형 상관없이, 한 곳에 모아서 저장할 수 있는 자료형입니다. C/C++/Java 등 기존 언어의 '배열'과 비슷하지만 매우 다릅니다. 일단 리스트는 인덱스로 접근 가능하지만, 여러 곳에 있는 데이터들을 묶어둔 '연결 리스트'입니다. 배열처럼 연달아서 공간을 할당하지 않습니다. 또한, 데이터 유형에도 구애받지 않습니다. 하나의 자료형만 고집해서 저장할 필요가 없습니다. 리스트 이름 = [ 항목1, 항목2, 항목3, ... ] 리스트 생성은 위 예제처럼, [ ] 대괄호 안에 항목을 ,(콤마)로 구분해서 나.. 2022. 4. 10.