본문으로 바로가기

[Python] 리스트

category Data Science/Python 2015.02.16 15:33

파이썬 변수 식별자는 형을 지정하지 않습니다.

다른 프로그래밍 언어에서는 코드에서 사용할 모든 식별자들의 형을 미리 선언해야 합니다. 파이썬에서는 그렇지 않습니다. 식별자는 단지 어떤 형의 데이터 객체를 가리키는 이름에 지나지 않습니다.

파이썬의 리스트를 상위 수준의 집합체로 생각하세요. 각 데이터 항목의 형이 리스트에서는 중요하지 않습니다. 파이썬은 단지 리스트를 필요로 한다는 점만 알면 되며, 이름을 지정하고, 리스트에 들어갈 데이터 항목을 갖고 있기만 하면 됩니다.

>>> fruits = [“딸기”, “바나나”, “사과”]
>>> fruits
[‘딸기’, ‘바나나’, ‘사과’]
>>> print(fruits[0])
딸기
>>> print(fruits[1])
바나나
>>> print(len(fruits))
3
 
cs

 

● append : 리스트에 항목을 추가합니다.

● pop : 리스트의 제일 마지막 항목을 삭제합니다.

● extend : 여러 데이터 항목을 리스트 제일 뒤에 추가 합니다.

● remove() : 리스트에서 특정 항목을 찾아 제거 할 수 있습니다.

● insert() : 특정 항목 앞에 데이터를 추가할 수 있습니다.

 

for문 또는 While문 이용하여 리스트의 요소들을 추출해 낼 수 있습니다.

>>> for each_flick in fruits:
    print(each_flick)
 
딸기
바나나
 
>>> count = 0
>>> while count < len(fruits):
    print(fruits[count])
    count = count + 1
 
딸기
바나나
 
 
cs

 

while문에서 count = 0 을 선언 하여 상태정보를 쓰지만, for문에서는 처음부터 0으로 인식되기 때문에 굳이 선언이 필요 없습니다.

 

리스트 안에 리스트 저장하기

>>>fluits = [“딸기”, “빨간색”, [“바나나”,[“멜론”,”초록색”,”맛있다”]]]
>>> print(fluits[2][1][2])
맛있다
>>> for each_item in fruits:
    Print(each_item)
 
딸기
빨간색
[‘바나나’,[‘멜론’,’초록색’,’맛있다’]]
 
cs

 

instance를 사용하여 리스트 안의 리스트를 풀어서 확인

리스트 안의 모든 요소를 추출하기 위해서는 해당 항목이 리스트인지 확인이 필요한데, isinstance함수를 사용합니다.

>>> isinstance(fruits, list)
True
>>> test = 5
>>> isinstance(test, list)
False
 
>>> for each_item in fruits:
    if isinstance(each_item, list):
        for nested_item in each_item:
            print(nested_item)
    else:
        print(each_item)
 
딸기
빨간색
바나나
[‘멜론’,’초록색’,’맛있다’]
 
cs

 

재귀 함수를 이용한 리스트 안의 항목 모두 출력

>>>def print_lol(the_list):
     for each_item in fruits:
        if isinstance(each_item, list):
            print_lol(each_item)
        else:
            print(each_item)
>>> print_lol(fruits)
 
딸기
빨간색
바나나
멜론
초록색
맛있다
 
cs

 

set, tuple, dictionary

세트(set) : 값들의 모임이며 순서가 없습니다.

>>> a = {123,}; b = {345}
>>> a.union(b)       #합집합
{1,2,3,4,5}
>>> a.intersection(b)  #교집합
{3}
 
cs

 

튜플(tuple) : 리스트와 비슷하나 읽기전용이다. 속도는 더 빠르다.

>>> var = (123)
>>> type(var)
<class ‘tuple’>
 
cs

 

리스트, 세트, 튜플은 list(), set(), tuple()을 이용하여 언제든지 변환이 가능하다.

>>> a = [123]
>>> b = set(a)
>>> b
{123}
>>> type(b)
<class ‘set’>
 
cs

 

Dictionary는 키와 값의 쌍으로 구성되어 있다. 단, 인덱스는 지원을 안한다.

>>> var = dic(a=1, b=3, c=5)
>>> var
{b:’3’, c:’5’, a:’1’}
 
>>> color = { “apple” : “red”, “banana” : yellow”}
>>> color
{‘banana’:’yellow’, ‘apple’:’red’}
>>>color[“apple”]
‘red’
>>> color[0<-인덱스 지원안됨
Traceback (most recent call last):
File “<pyshell#53>”, line 1, in <module>
  Color[0]
KeyError: 0
 
cs

 

멍2파이썬에서 리스트는 여러 데이터 형을 함께 사용할 수 있습니다. 하나의 파이썬 리스트 안에 문자열과 숫자를 혼합해도 전혀 문제가 되지 않습니다.

사실 문자열과 숫자 외에 어떠한 데이터 형이라도 하나의 리스트 안에 저장할 수 있습니다.

파이썬 리스트는 상위 수준의 집합체라는 점을 기억하세요! 애초에 관련된 모든 객체를 저장할 수 있게 설계되었죠. 리스트 안에 들어갈 데이터 형은 중요치 않습니다. 리스트는 단지 목록 형태로 데이터를 저장하기 위해 만들어졌기 때문입니다.

혼합된 형의 데이터를 리스트와 함께 저장하더라도 파이썬은 이를 막지 않습니다.

'Data Science > Python' 카테고리의 다른 글

[Python] 파일과 예외  (0) 2015.02.23
[Python] 모듈  (0) 2015.02.16
[Python] 함수  (0) 2015.02.16
[Python] 리스트  (0) 2015.02.16
[Python] 시퀀스 자료형  (0) 2015.02.13
[Python] 파이썬 개요 및 설치  (2) 2015.02.12

댓글을 달아 주세요