homebody's blog

[Python] Python 기초 - 3(시퀀스 자료형) 본문

Python

[Python] Python 기초 - 3(시퀀스 자료형)

homebody 2019. 6. 30. 15:53

시퀀스(sequence) 자료형

  • Sequence 자료형

    • Sequence는 데이터의 순서대로 나열된 형식을 나타낸다.
    • **주의! 순서대로 나열된 것이 정렬되었다라는 뜻은 아니다.**
    1. 리스트(list)

      a = [value1, value2, value3]
      • 리스트는 대괄호 []를 통해 만들 수 있다.

      • 값에 대한 접근은 list[i]를 통해야 한다.

        l = []
        print(l)
        
        location = ['서울', '대전', '구미', '광주', '부산']
        print(location)
        print(type(location))
        print(location[0])#indexing
        print(location[1:5])#slicing
        print(location[1:])
        print(location[:4])
        print(location[::-1])
    2. 튜플(tuple)

      a = (value1, value2)
      • 튜플은 리스트와 유사하지만, ()로 묶어서 표현한다.

      • tuple은 수정 불가능(immutable)하고, 읽을 수 밖에 없다.

      • tuple에 접근해서 수정할 수는 없지만, 리스트로 만들어서 바꾼 다음 다시 튜플로 만들어 주면 요소를 바꿀 수 있다.

      • 직접 사용하는 것보다는 파이썬 내부에서 사용하고 있다.

        tuple_ex = (1,2,3)
        print(type(tuple_ex))
        
        tuple_ex = 4,5,6
        print(type(tuple_ex))
        
        x, y = 1, 2
        x, y = y, x
        print(x, y)
    3. 레인지(range)

      • 레인지는 숫자의 시퀀스를 나타내기 위해 사용
        기본형 : range(n) -> 0부터 n-1까지 값을 가짐

      • 범위 지정 : range(n, m) -> n부터 m-1까지 값을 가짐

      • 범위 및 스텝 지정 : range(n, m, s) -> n부터 m-1까지 +s만큼 증가한다

        r = range(10)
        print(list(r))
        
        r = list(range(0, -9, -3))
        print(r)
        
        r = list(range(4,9))
        print(r)
  • Sequence 자료형에서 활용할 수 있는 연산자/함수

    # contain test
    s='string'
    print('a' in s)
    
    # concatenation
    print([1,2]+[3,4])
    
    print([1,2,3]*6)
    
    # indexing과 slicing
    location = ['서울', '대전', '대구', '부산', '광주', '구미']
    print(location[1])
    print(location[2])
    
    print(location[1:4])
    print(location[1:])
    print(location[:4])
    
    r = list(range(30))
    print(r[0:len(r):3])
    
    # 내장함수
    # 최소값
    print(min(r[0:len(r):3]))
    # 최댓값
    print(max(r[0:len(r):3]))
    
    print([1,2,3,4,5,6,1,2,3].count(2))
    
    # 요소 삭제
    l = [1,2,3,1,2,3,4,1,5,1]
    l[3]=30
    print(l)
    
    del l[3]
    print(l)
    
    del l[3:]
    print(l)
    
    l.remove(1)
    print(l)
    
    l = [1,2,3]
    a = l.pop()
    print(a, l)
    
    #요소 추가
    l = [1,2,3]
    l.append(4)
    print(l)
    
    l.insert(1,20)
    print(l)
    
    #정렬
    l = [2,5,1,8,7,3,2]
    l.sort()
    print("{}".format(l))
Comments