ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 파이썬 자료형 - 리스트(List)
    Data Science/Python 2021. 3. 11. 22:22

     

     

     

     

    Python 컬렉션 자료형 - 리스트(List)

     

     

     

     

     

     

     

    파이썬 컬렉션 자료형은 특징에 따라 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary)로 구분할 수 있습니다. 

     

     

     

    여기서 컬렉션 자료형은,

    만약 문자열이나 숫자형이 a = 12, b = 'apple' 등과 같이 하나의 값을 가진다고 한다면 

    c = [1, 3, 5, 7, 9]와 같이 여러 개의 값을 저장할 수 있는 자료형을 컬렉션 자료형이라 말합니다.

     

     

     

     

     

    이번에는 컬렉션 자료형 중 가장 많이 쓰이는 리스트에 대해서 알아보겠습니다. 

     

     

     

     

    먼저 리스트는 [ ]로 표시할 수 있으며 , 로 구분해줍니다. 

     

    a = []
    b = [1, 2, 3, 4, 5]
    c = ['apple', 'orange', 'lemon', 'banana']
    d = [1, 2, 'apple', 3, 'carrot']
    e = [1, 3, 5, [7, 9]]

     

    a과 같이 빈 리스트도 만들 수 있습니다. 빈 리스트의 경우  a=list() 로도 리스트를 만들 수 있습니다. 

    문자열과 숫자를 넣어 리스트를 만들 수 있으며 한 리스트 안에 문자와 숫자를 모두 넣을 수도 있습니다. 

    또한 리스트안에 리스트(다차원 리스트)를 넣는 것도 가능합니다. 

     

     

     

     

     

    리스트의 특징은 동적이라는 것입니다. 

    여기서 동적이다 하는 것은 메소드를 사용해서 값을 추가하고 제거하는 것을 통해 수정이 가능함을 의미합니다.

    또한 리스트는 인덱스를 활용하여 값을 수정하고 저장 및 정렬을 할 수 있습니다. 

     

     

     

     

     

    다음은 리스트에서 사용할 수 있는 메소드들 입니다. 

     

     

     

     

     

    -  append() : 리스트 마지막에 새로운 값 추가

     

    a = [1, 10, 100, 1000]
    a.append(10000) # 리스트 마지막에 10000 삽입
    
    a #[1, 10, 100, 1000, 10000]

     

     

     

    - insert() : 인덱스 지정하여 값 삽입

     

    a = ['one', 'two', 'three', 'four']
    a.insert(2, 'python') # 세번째에 'python' 삽입
    
    a #['one', 'two', 'python', 'three', 'four']

     

     

     

    - del : 인덱스를 활용하여 리스트에서 인덱스에 해당하는 값, 해당 범위의 값 삭제 

     

    # 네번째 값(7) 삭제 
    a = [1, 3, 5, 7, 9]
    del a[3]
    a # [1, 3, 5, 9]
    
    
    # 네번째 값 이후로 모두 삭제
    b = [1, 3, 5, 7, 9]
    del b[3:] 
    b # [1, 3, 5]

     

     

     

    - remove() : 삭제할 값을 정해 리스트에서 삭제, 중복되는 경우 앞에 있는 것 삭제 

     

    a = [1, 2, 3, 4, 5]
    a.remove(1) # 리스트에서 1 삭제 
    
    a # [2, 3, 4, 5]
    
    
    b = [1, 3, 5, 1, 3, 5]
    b.remove(1) # 리스트에서 1 삭제, 중복되므로 첫번째 1 삭제 
    
    b # [3, 5, 1, 3, 5]

     

     

     

    - pop() : 맨 끝 요소 꺼내주고 리스트에서 삭제, 괄호 안 숫자 지정했을 때 그 자리 숫자 꺼내고 리스트에서 삭제 

     

    # 리스트에서 마지막 요소 꺼내고 리스트에서 삭제 
    a = [1, 2, 3, 4, 5, 6]
    a.pop()  # 6
    a  # [1, 2, 3, 4, 5]
    
    
    # 리스트에서 b[2] 꺼내고 리스트에서 삭제 
    b = [1, 2, 3, 4, 5, 6]
    b.pop(2)  # 3
    b  # [1, 2, 4, 5, 6]
    
    
    # pop 두 번 실행 
    c = [1, 2, 3, 4, 5, 6]
    c.pop()  # 6
    c.pop()  # 5
    c  # [1, 2, 3, 4]

     

     

     

    - extend() : 리스트끼리 이어붙여 확장, 괄호안에는 리스트

     

    a = [1, 3, 5, 7, 9]
    b = [2, 4, 6, 8]
    
    a.extend(b)  # 리스트 a에 리스트 b 더하기
    a  # [1, 3, 5, 7, 9, 2, 4, 6, 8]

     

     

     

    - sort() : 리스트 값 자체의 순서 정렬

    - sorted() : 리스트 값의 순서는 그대로 두고, 출력 결과만 순서 정렬

    sort의 정렬은 기본 오름차순이지만 reverse = True 를 지정해주면 내림차순으로 정렬된 결과를 볼 수 있습니다.

     

    ### sort()
    
    a = [6, 9, 1, 7, 0]
    a.sort()
    a  # [0, 1, 6, 7, 9]
    
    a.sort(reverse = True)
    a  # [9, 7, 6, 1, 0]

     

    ### sorted()
    
    a = [1, 5, 8, 2, 0.9, -3]
    print(sorted(a))  # [-3, 0.9, 1, 2, 5, 8]
    a  # [1, 5, 8, 2, 0.9, -3]

     

     

     

    - reverse() : 리스트를 역순으로 정렬

     

    fruits = ['apple', 'orange', 'mango', 'grape', 'cherry']
    fruits.reverse()
    fruits  # ['cherry', 'grape', 'mango', 'orange', 'apple']
    
    
    # 숫자의 크기와 상관없이 그저 리스트 값의 순서만 역순으로 보여주는 것
    numbers = [1, 9, 0.3, 4, 600, 8]
    numbers.reverse()
    numbers  # [8, 600, 4, 0.3, 9, 1]

     

     

     

    - count() : 리스트 안 특정 값의 갯수 

     

    test = ['a', 'b', 'c', 'b', 'b', 'd', 'e']
    test.count('b')  # 3

     

     

     

    - sum() : 리스트 안 값 더하기 

    a = [1, 2, 3, 4, 5]
    sum(a)  # 15

     

     

     

    - len() : 리스트 길이 

     

    fruits = ['apple', 'orange', 'mango', 'grape', 'cherry']
    len(fruits)  # 5

     

     

     

    - index() : 리스트에서 () 안 값의 인덱스 반환

     

    # 리스트 fruits에서 'grape'의 인덱스 구하기
    fruits = ['apple', 'orange', 'mango', 'grape', 'cherry']
    fruits.index('grape')  # 3

     

     

     

    - min(), max() : 리스트 내 최솟값, 최댓값 반환

     

    # 리스트 a의 최솟값, 최댓값 구하기
    a = [1, 5, 9, 0.8, 180, 74]
    print(min(a))  # 0.8
    print(max(a))  # 180

     

     

     

     

     

Designed by Tistory.