본문 바로가기
언어/파이썬, 루비 (python & ruby)

파이썬(Python) & 루비(ruby) 개념 4편 (컨테이너(배열, 리스트), 데이터 타입)

by 동국대 ICT 2021. 1. 27.

지난 1편, 2편, 3편 파이썬, 루비 포스팅에 이어서 4편 포스팅을 하도록 하겠습니다.

 

파이썬(Python) & 루비(ruby) 개념 1편 보러 가기

donggukice.tistory.com/23

 

파이썬(Python) & 루비(ruby) 개념 1편 (출력, 연산)

생활코딩에서 배운 내용을 복습하는 차원이자 알고리즘을 공부하기 전에 복습하는 차원으로 파이썬과 루비에 대해서 다뤄보기로 했습니다. 우선, 파이썬과 루비를 동시에 포스팅하는 이유는

donggukice.tistory.com

 

파이썬(Python) & 루비(ruby) 개념 2편 보러 가기

donggukice.tistory.com/24

 

파이썬(Python) & 루비(ruby) 개념 2편 (문자열, 데이터 타입, 변수, 비교연산자)

이전 1편에서는 파이썬, 루비를 배워야 하는 이유와 실습 방법 기본적인 문법인 숫자와 문자열 출력, 연산자에 대하여 포스팅했습니다. donggukice.tistory.com/23 그럼 이어서 파이썬, 루비 2편 시작하

donggukice.tistory.com

파이썬(Python) & 루비(ruby) 개념 3편 보러 가기

donggukice.tistory.com/25

 

파이썬(Python) & 루비(ruby) 개념 3편 (조건문, 입력, cheat sheet, 주석)

지난 1편, 2편 파이썬, 루비 포스팅에 이어서 3편 포스팅을 하도록 하겠습니다. 파이썬(Python) & 루비(ruby) 개념 1편 보러 가기 donggukice.tistory.com/23 파이썬(Python) & 루비(ruby) 개념 2편 보러 가기 don..

donggukice.tistory.com

 

파이썬

 

< 컨테이너( 파이썬 - 배열, 루비 - 리스트 ) >

 

컨테이너는 변수와 비교하여 설명하겠습니다.

 

변수는 하나의 값을 가질 수 있습니다.

 

하지만 컨테이너는 여러 개의 값을 가질 수 있습니다.

 

데이터를 저장한다는 점에서 공통점이 있지만

 

그 데이터의 수에서 변수와 컨테이너가 차이점이 생기게 됩니다.

 

그리고 루비와 파이썬에서 각각 컨테이너를 부르는 단어가 다릅니다.

 

루비에서는 '리스트'라고 호칭하며 파이썬에서는 '배열'이라고 호칭합니다.

 

names = ['minsik', 'sumkyung', 'minkyung'];

print(names)

print(names[1]);

우선, python의 배열 선언 및 사용 형태입니다.

 

names = ['minsik', 'sumkyung', 'minkyung'];

 

배열의 선언 방식입니다.

 

배열명 = [데이터, 데이터, 데이터] 의 구조를 가지고 있습니다.

 

다음과 같은 경우는 3개의 데이터를 보유하게 됩니다.


print(naems)

 

배열의 출력입니다.

 

여기서는 names 라는 배열명을 출력 값으로 전달합니다.

 

따라서 배열의 모든 값들이 출력됩니다.


print(names[1]);

 

배열의 선택적 출력입니다.

 

여기서는 names라는 배열 중 1번째 값을 출력합니다.

 

여기서 쓰인 1을 index라고 합니다.

 

cf> index

 

index는 0부터 시작입니다.

 

실생활에서는 1,2,3 이런 식으로 1부터 카운팅 하는 것이 보편적이지만

 

컴퓨터상에서는 0,1,2 순서로 카운팅을 합니다.

 

따라서 minsik 이 index가 0인 값입니다.

 

위에 출력 형태는 index가 1인 경우를 지칭하니

 

sunkyung이 출력됩니다.

 

 

names = ['minsik', 'sumkyung', 'minkyung'];

print(naems)

print(names[1]);

sunkyung = ['seoul', 21, female];

sunkyung[1] = '22';

print(sunkyung);

ruby의 리스트 형태입니다.

 

names = ['minsik', 'sumkyung', 'minkyung'];

 

배열의 선언 방식입니다.

 

배열명 = [데이터, 데이터, 데이터] 의 구조를 가지고 있습니다.

 

다음과 같은 경우는 3개의 데이터를 보유하게 됩니다.


print(naems)

 

배열의 출력입니다.

 

여기서는 names 라는 배열명을 출력값으로 전달합니다.

 

따라서 배열의 모든 값들이 출력됩니다.


print(names[1]);

 

배열의 선택적 출력입니다.

 

여기서는 names라는 배열 중 1번째 값을 출력합니다.

 

여기서 쓰인 1을 index라고 합니다.

 

위까지는 파이썬과 동일한 형태를 가지는 것을 볼 수 있습니다.

 

밑에서는 루비의 리스트만의 장점을 알려드리겠습니다.

sunkyung = ['seoul', 21, false];

 

배열의 선언 구문입니다.

 

파이썬의 배열은 모든 데이터 타입이 같은 것을 확인할 수 있었습니다.

 

하지만 위에 코드를 보시면 

 

index[0] : 문자열

 

index[1] : 숫자

 

index[2] : boolean

 

으로 각 데이터 타입이 다른 것을 확인하실 수 있습니다.

 

이를 통해 루비의 리스트에는 데이터 타입이 다른 값들끼리

 

하나의 리스트를 구성할 수 있음을 알 수 있습니다.

 

추가적으로 리스트나 배열(컨테이너)에 담긴 데이터를

수정하는 방법에 대해 말씀드리겠습니다.

sunkyung[1] = '22'; 

루비 코드를 보시면 index 값이 1인 경우에는 데이터가 21입니다.

하지만 이 값을 수정하고 싶을 때에 리스트 자체를 바꾸는 것은

상당히 번거로운 일이기 때문에 수정해야하는 값만 수정하는 것이 효율적입니다.

그럴 때에도 index가 이용됩니다.

따라서 리스트를 수정하는 문법의 구조는

배열명[index 값] = 수정값;

을 가집니다.

print(sunkyung);

print 문으로 출력을 통해 데이터의 수정을 확인하실 수 있습니다.

 

 

< 데이터 타입 >

 

데이터 타입이 무엇인지 알아야 할 경우가 있습니다.

 

이럴 때에 어떻게 데이터 타입을 알 수 있을까요?

print(type('misnik'));

python의 데이터 타입 출력입니다.

 

 

하단의 루비의 데이터 타입 출력입니다.

print(names.class):

 

개발자

 

 

댓글