[Python] array Class

반응형
    반응형

    array 모듈을 이용한 array 사용법입니다. 

    거의 쓰이진 않지만 numpy의 nd.array를 좀 더 이해할 수 있을것 같아서 정리를 해봅니다.

     

    array 만들기

    array를 만들어보겠습니다.

    array를 만들려면 리스트가 필요합니다.

    리스트 하나를 만들고 만들어보겠습니다.

    import array
    v = [1.0,2.0,3.0,4.0,5.0]
    a= array.array('f',v)
    a

    v라는 리스트를 array로 바꾸었습니다. 'f'는 float을 의미합니다.

    array는 데이터타입을 결정해주어야 합니다.

    데이터 타입은 다음과 같이 나타냅니다.

    Type code C Type Minimum size in bytes
    'b' signed integer 1
    'B' unsigned integer 1
    'u' Unicode character 2
    'h' signed integer 2
    'H' unsigned integer 2
    'i' signed integer 2
    'I'(대문자 i) unsigned integer 2
    'l'(소문자 L) sgined integer 4
    'L' unsigned integer 4
    'q' signed integer 8
    'Q' unsigned integer 8
    'f' floating point 4
    'd' floating point 8

    위 표는 jupyter에서 Shift+Tap을 하면 자세히 나와있습니다.

    type code를 막 쓸 수도 없는게 리스트가 만들어진 타입이 아니면 안됩니다.

     

    l로 하라고 했더니 float인것을 할 수 없다고 합니다.

     

    array 원소 추가

    array는 원소추가하는 방법이 append, extend 가 있습니다.

    다른 타입을 넣을 수 없고 같은 타입의 데이터만 추가할 수 있습니다.

    a.append(6.0)
    a

    a.extend([7.0,8.0])
    a

    둘의 차이점은 append는 원소를 하나씩 넣을 수 있고 extend는 원소 하나 이상을 리스트로 지정하면 넣을수 있습니다.

     

    2*a
    

    array에 2를 곱하면 array가 연속적으로 두배가 되어서 나타납니다. 원소가 2개씩 늘어났습니다.

     

     

     

    리스트로 다시 돌리고 싶으면 tolist()를 하면 됩니다.

    a.tolist()

     

    array 저장

    array를 실제 파일로 저장해보겠습니다.

    open을 이용해서 할 수 있습니다.

    with open('array.apy','wb') as f:
        a.tofile(f)

     

    탐색기에서 찾아보면 해당파일이 있는 것을 볼 수 있습니다.

     

     

    array 불러오기

    b = array.array('f')
    with open('array.apy','rb') as f:
        b.fromfile(f,5)
    b

    b에 5개원소만 불러오라고 요청했고 5개의 원소로 된 array가 되었습니다.

     

     

    기본 array에 대해서 알아보았는데요. 많이 유용하진 않아보이긴 합니다. 

    기본 array보다는 numpy.array 가 좀 더 특화되고 편해진 방법인 걸 알 수 있었던 시간이었습니다.

     

     

    관련 포스팅 

    [Python/Numpy] - Numpy 란?

    [Python/Numpy] - ndarray 생성하기

    [Python/Numpy] - ndarray 생성(2) random모듈

     

    댓글

    Designed by JB FACTORY

    ....