본문 바로가기
programming/Python

파이썬 리스트 다양한 데이터타입의 반복된 배열 컬렉션 python list

by 개코 - 개발과 코딩 2021. 8. 10.

파이썬은 배열을 제공한다. 배열은 다양한 데이터타입을 배열로써 가진 컬렉션이기도 하다. 파이썬 리스트와 비슷한 기능을 가진 것이 튜플 Tuple, 셋 Set, 딕션어리 Dictionary 가 있다. 이런 컬렉션들은 하나의 변수에 다양한 데이터타입을 가진 값들을 가지고 있기 때문에 데이터 관리에 용이하다.

파이썬 리스트 다양한 데이터 타입이 모여 있다.
파이썬 리스트 다양한 데이터 타입이 모여 있다.

 

파이썬 리스트

파이썬 리스트는 다양한 데이터타입을 가진 여러가지 값들을 가지고 있다.

이 값들은 하나의 변수에 저장된다.

하나의 변수에 여러 값들이 저장되는 것이 아닌 최초 메모리 주소가 저장되는 것이 맞다고 할 수 있다.

c언어의 배열을 생각해 보면 된다.

리스트와 같은 컬렉션들은 값이 어떻게 들어있던지 관심사는 리스트의 길이와 반복문일 것이다.

 

리스트 설정과 출력

파이썬에서 리스트는 배열과 같은 형식으로 작성하게 된다.

대괄호를 이용하여 데이터타입이 같은 값들을 나열하면 된다.

아래의 코드는 파이썬 리스트를 변수에 설정하고 화면에 출력을 한 것이다.

print('--------------------------------------------------')

vList = ["민영", "유정", "은지", "유나"]

print("List : ", type(vList), vList)

print('--------------------------------------------------')

데이터타입은 List 이고 배열의 형태로 출력된 것을 확인할 수 있다.

 

파이썬 리스트 특성

파이썬 리스트는 몇가지 특성이 있다.

리스트의 인덱스는 0부터 시작하고, 인덱스로 접근한 값은 변경과 삭제, 추가가 가능하다.

데이터타입만 같다면 같은 값이 들어갈 수 있다.

중요한 것은 하나의 리스트에 여러 값이 설정될 때 데이터타입이 달라도 상관이 없다.

파이썬 리스트의 길이는 len() 함수를 사용한다.

코드로 확인을 해 보자.

print('--------------------------------------------------')

vListStr = ["민영", "유정", "은지", "유나"]
vListInt = [10, 20, 30, 40]
vListDupl = ["브레이브걸즈", "블랙핑크", "오마이걸", "트와이스", "브레이브걸즈"]
vListType = ["브레이브걸즈", 4, "오마이걸", 7, "트와이스", 9, "브레이브걸즈", 4]

print("vListStr List :", type(vListStr), len(vListStr), vListStr)
print("vListInt List :", type(vListInt), len(vListInt), vListInt)
print("vListDupl List :", type(vListDupl), len(vListDupl), vListDupl)
print("vListType List :", type(vListType), len(vListType), vListType)

print('--------------------------------------------------')

결과를 보도록 하자.

위에서 언급된 특성들을 허용한다.

 

인덱스와 반복문

위에서 언급된 리스트 4개지에 대해 반복문을 사용해 보자.

위의 특성에서 기존의 언어에 익숙한 상태라면 데이터타입이 다르더라도 배열의 내용에 속해있는 것을 알 수 있다.

반복문을 통해 하나하나 살펴보자.

마지막에 해당되는 것만 반복해 볼 것이다.

특정값의 인덱스는 List.index(값) 으로 찾을 수 있다.

print('----------------------------------------------------------------------------------------------------')

vListDupl = ["브레이브걸즈", "블랙핑크", "오마이걸", "트와이스", "브레이브걸즈"]

for lpEach in vListDupl:
    print("vListDupl Each Value :", type(lpEach), vListDupl.index(lpEach), lpEach)

print('----------------------------------------------------------------------------------------------------')

vListType = ["브레이브걸즈", 4, "오마이걸", 7, "트와이스", 9, "브레이브걸즈", 4]

for lpEach in vListType:
    print("vListType Each Value :", type(lpEach), vListType.index(lpEach), lpEach)

print('----------------------------------------------------------------------------------------------------')

결과를 보자.

인덱스가 0부터 시작되며 배열의 데이터타입은 List 지만 각각의 값은 고유의 데이터타입을 가지고 있다는 것을 알 수 있다.

세세한 부분이나 데이터타입에 대해 크게 신경을 쓰지 않아도 될 것 같은 것이다.

그렇기에 코딩시 실수할 수 있는 부분이 생길 수도 있을 것 같다.

 

단순히 리스트의 특성을 살펴봤다.

여러모로 다른 언어에 비해 편한 것을 알 수 있고, 일반적인 특성도 같음을 알 수 있다.

차이점이라면 하나의 리스트에 다양한 데이터타입이 들어갈 수 있다는 점이다.

반응형

댓글