본문 바로가기
728x90
반응형

Programming/Python13

[Python] How to flatten a matrix (행렬을 1차원 배열로 전환하기) [Python] How to flatten a matrix (행렬을 1차원 배열로 전환하기) 행렬을 다룰때 어떤 목적에 의해서 1차원 배열로 전환해야 할 때가 있습니다. 대표적인 경우는 머신러닝에서 이미지 분석시 이미지의 2차원 밝기 행렬을 1차원으로 변환하여 네트워크게 입력하게 됩니다. 이 변환은 어려운 것은 아니지만 몇가지 방법이 있어 정리해 보았습니다. 새로운 방법이 나오면 계속 추가할 예정입니다. 한가지 기억해야 할 점은 열을 이어 붙이는 방식으로 변환이 이루어진다는 것이고, 변환된 1차원 배열의 길이는 column*row가 됩니다. 방법 1. mat = [[1,2,3],[4,5,6],[7,8,9]] arr =[] for i in range(len(mat)): for j in range(len(m.. 2020. 11. 9.
[Python] How to initialize dictionary by get method Introduction Here, let me introduce one way to initialize a dictionary variabe in python, which is made by using get() method. A dictionary has a data type of {key: value}. When you want to count the occurrence of each key in a given list, then firs the all values need to be set to zero. The get() method for dictionary is defined as follow dict.get(key, default = None) where key is the key varia.. 2020. 11. 8.
[Python] Abstract Classes(추상클래스)의 객체 생성은 가능한가? Python: Abstract Classes(추상클래스)의 객체 생성은 가능한가? - 클래스는 인스턴스의 템플레이트: 일반 클래스는 객체 생성 가능 - 추상 클래스 (ABC)는 클래스의 템플레이트: 추상 클래스는 객체를 바로 만들 수 없다. 도입 객체지향 언어의 핵심은 클래스이다. 클래스를 잘 다룬다면 전역 변수 사용을 없앨 수 있을 뿐 아니라 코딩의 효율을 높일 수 있다. 이점이 많은 만큼 클래스는 공부해야 할 특징이 많다. 그중 핵심적인 것이 상속(inheritance)이라는 것이다. 이것은 이름에서도 알 수 있듯이 클래스의 속성 및 함수들을 다른 클래스에게 사용할 수 있도록 물려주는 것이다. 이것은 다른 포스팅에서 자세히 다루도록 하겠다. 이와 더불어 추상클래스라는 종류가 있다. 클래스인데 추상적이.. 2020. 11. 6.
[Python] 리스트(list) vs 튜플(tuple)! 파이썬의 리스트와 튜플의 차이! 코딩을 하다 보면 배열을 다루는 일이 많다. 배열은 비슷한 데이터를 하나의 집합으로 묶어 놓은 자료구조이다. 아마 대부분의 사람들이 파이썬에서 가장 먼저 접하게 되는 배열은 리스트(list) 와 튜플(tuple)일 것이다. 얼핏 보기에는 이 둘은 구조나 사용하는 방법에서 크게 다를 것이 없어 보인다. 하지만 뚜렷한 차이가 있는데, 그것은 바로 리스트는 그 배열 원소의 값을 바꿀 수 있을 뿐만 아니라 새로운 원소를 추가하거나 제거하면서 배열의 길이를 바꿀 수 있다. 반면, 튜플은 한번 배열의 길이와 원소들의 값이 정해지면 나중에 바꿀 수 없다. 즉, 리스트는 변경 가능 (mutable) 하고, 튜플은 변경 할 수 없다 (immutable). 코딩으로 확인해 보자! 먼저 리스.. 2020. 11. 5.
728x90
반응형