ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python 리스트와 튜플
    ML&DL&AI/Python 2023. 6. 8. 16:54
    728x90

    1. 리스트(list)

    • 파이썬의 자료구조 형태 중 하나
    • 순서가 있는 객체의 집합
    • 기호는 대괄호([])로 작성되어지며, 리스트 내부의 값은 콤마(,)로 구분
    • 많은 양의 데이터를 관리 할 때 사용 & 여러 개의 데이터를 하나로 묶어서 관리
      • 복수개의 데이터 관리 용도
    • 자료형의 구분 없이 하나로 묶어줄 수 있음.(배열과의 차이점)
    • 인덱스 번호가 존재함
      • 0번부터 순차적으로 번호가 부여됨
      • 데이터의 방 번호
    •  추가, 수정, 삭제 가능

     

    - 리스트명 = [요소1, 요소2, 요소3, ... ]

    a = []
    b = [1,2,3]
    c = ['my','name','is','L']
    d = [1,2,'My','name']
    e = [1,2,['my','name']]

     

    - 데이터 타입 확인 방법

    s= "문자열"
    type(s)
    str

     

    - 서로 다른 자료형 묶기

     

    list3 = ['커피',99,['파이썬',707]]

     

    - 리스트 인덱싱

    • 인덱싱 방법 : 리스트명[인덱스번호]
    list3[2][0]
    '파이썬'

     

    - 리스트 슬라이싱

    • 슬라이싱 방법 : 리스트명[시작인덱스 : 끝인덱스(포함x)]
    num_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    print(num_list[4:7])
    print(num_list[0:6])
    print(num_list[6:])
    print(num_list[:])
    [4, 5, 6]
    [0, 1, 2, 3, 4, 5]
    [6, 7, 8, 9]
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    - 리스트 더하기

    • 문자열 더하기와 같다 > 옆으로 붙여주기
    • # 산술 연산 된 것이 아님
    list4 = [1, 2, 3]
    list5 = [4, 5, 6]
    print(list4 + list5)
    [1, 2, 3, 4, 5, 6]

     

    - 리스트 더하기 (산술 연산 수행)

    • 하나씩 인덱싱해서 정수끼리 연산해야 함
    • 반복문을 활용하면 쉽게 가능!
    print(list4[2] + list5[2])
    9

     

    2. 리스트 함수

    리스트 값 추가 : apped() 함수

    • 맨 뒤에 값을 추가
    • 온점(.) : 접근 연산자
    • 리스트명.apped(추가하고 싶은 값)
    list6 = [0,1,2,3,4,5]
    list6
    [0, 1, 2, 3, 4, 5]

     

    • 가장 뒤에 데이터를 추가하고 싶다면?
    list6.append(6)
    list6
    [0, 1, 2, 3, 4, 5, 6]
    • append() 함수를 활용하여 리스트 안에 리스트 추가 가능!
    list6.append([1,2,3])
    list6
    [0, 1, 2, 3, 4, 5, 6, [1, 2, 3]]
    • 빈리스트에 append()함수를 활용하여 새로운 값 추가
    list1= []
    list1.append(3)
    list1
    [3]

     

    리스트 값 추가 : insert()함수

    • 인덱스 위치에 값 추가
    • 리스트명.insert(인덱스번호, 추가하고 싶은 값)
    list7 = ['a', 'b', 'c']
    #내가 추가 하고싶은 인덱스 위치
    list7.insert(0,'A')
    list7
    ['A', 'a', 'b', 'c']

    리스트 값 수정

    • 리스트명[수정하고 싶은 인덱스 번호] = 값
    #list7 에서 'b'라는 무자를 'ㄱ'으로 수정
    list7[2] = 'ㄱ'
    list7
    ['A', 'a', 'ㄱ', 'c']

    리스트 값 삭제 : del 키워드, remove()함수

    • 키워드 : 예약어
    • del 리스트명.[인덱스번호]
    • 리스트명.remove(삭제할 값)
    • 차이점del 키워드 : 인덱스 번호를 통해서 삭제
      remove() 함수 : 실제 값을 입력해서 삭제
    #del 리스트명[인덱스번호]
    # list7 = ['A', 'a', 'ㄱ', 'c']
    del list7[0]
    list7
    ['a', 'ㄱ', 'c']
    # 리스트명.remove(값)
    # list6 = [0, 1, 2, 3, 4, 5, 6, [1, 2, 3]]
    list6.remove(1)
    list6
    [0, 2, 3, 4, 5, 6, [1, 2, 3]]
    • list[ ][ ]으로 제거가 될까?
    • 실행 결과 list6[6][2] = 3이 제거 되었다.
    list6.remove(list6[6][2])
    list6
    [0, 2, 4, 5, 6, [1, 2, 3]]
    • 그렇다면 list[ ]은?
    • 실행 결과 리스트가 제거가 되었다.
    list6.remove(list6[5])
    list6
    [0, 2, 4, 5, 6]

     

    2. 리스트 정렬

    • sort() 함수 : 정렬
    • 리스트명.sort()
    • 기본값 : 오름차순(가, 나, 다 // a, b, c// 1, 2, 3 ...)
    list1 = [2,45,2,12,400,12,66,89]
    list1.sort()
    list1
    [2, 2, 12, 12, 45, 66, 89, 400]
    • reverse() 함수 : 값들의 위치(인덱스)를 역순으로 뒤집어줌
    • 리스트명.reverse()
    list1.reverse()
    list1
    [400, 89, 66, 45, 12, 12, 2, 2]
    • sort( ) 다음에 reverse ( ) 역순으로 정렬이 됩니다.
    • 그렇다면? sort ( )의 정보를 보면?
    • reverse = false가 기본값이다. 반대로 True를 적용하면 내림차순으로 정렬이 된다.

    Shift + TAB 누르면 정보를 볼수가 있다.

    list1 = [2,12,2,12,66,45,400,89]
    list1.sort(reverse=True)
    list1
    [400, 89, 66, 45, 12, 12, 2, 2]

     

    기타 함수들

    • index(값) : 데이터의 위치값을 알려줌
    • pop() : 리스트의 가장 마지막 값을 출력 후 제거
      • append()가 리스트 맨뒤에 값을 추가라면 pop()는 제거하는 기능
    • len(리스트) : 리스트의 길이를 알려준다.
      • 리스트 안에 요소가 몇개 들어있는지

     

    - index() : 내가 원하는 데이터의 인덱스 위치를 알려줌

    • 리스트명.index(값)
    list8 =['봄', '여름', '가을', '겨울']
    list8.index('가을')
    2

     

    - pop() : 리스트의 가장 마지막 값을 출력 후 제거

    • 리스트명.pop()
    list8.pop()
    # 어떤 것이 제거 되었는지 보여주기만 함
    '가을'

     

    - len() : 리스트 내 요소 개수 확인

    • len(리스트명)
    list9 = ['봄', '여름', '가을', '겨울',['벚꽃', '계곡'],['단풍','눈사람']]
    len(list9)
    • 리스트 안의 리스트도 요소의 일부일 뿐이니 혼동하지 말기!
    • 어려우면 자료형 자체로 세어보자
    • str str str str list list
    6

     

    3. 튜플

    • 파이썬의 자료구조 형태 중 하나
    • 순서가 있는 객체의 집합
    • 기호는 소괄호 ( ) 로 작성되어지며, 튜플의 내부 값은 콤마( , )로 구분
    • 많은 양의 데이터를 관리 할때 사용 & 여러 개 데이터를 하나로 묶어서 관리
      • 복수개의 데이터 관리 용도
    • 자료형의 구분 없이 하나로 묶어 줄 수 있음.(배열과의 차이점)
    • 인덱스 번호가 존재함
      • 0번부터 순차적으로 번호가 부여
    • 추가, 수정, 삭제 불가능

     

    - 튜플 생성

    • 튜플명 = (요소1, 요소2, 요소3 ... )
    tuple1 = (1, 2, 3, ('AA','BB'), 4, 5, 6)
    tuple1
    (1, 2, 3, ('AA', 'BB'), 4, 5, 6)

     

    - 리스트와 튜플의 공통점과 차이점

     

    - 공통점

    • 타입과 상관 없이 복수개의 요소들을 가질 수 있다.
    • 요소의 순서를 관리한다.

    - 차이점

    • 리스트는 가변적이며, 튜플은 불변적이다.
    • 리스트는 요소가 몇 개 들어갈지 명확하지 않고 유동적일 경우에 사용한다.
    • 튜플은 요소 개수를 사전에 정확히 알고 있고 변동이 없을 경우에 사용한다.

     

    4. in, not in 키워드

    • in : 찾고자 하는 값이 포함되어 있으면 Ture 출력
    • not in : 찾고자 하는 값이 포함되어 있지 않으면 Ture 출력
    728x90

    'ML&DL&AI > Python' 카테고리의 다른 글

    Python 딕셔너리(dictionary)  (0) 2023.06.13
    python 반복문  (0) 2023.06.12
    Python 조건문  (0) 2023.06.07
    Python 연산자  (0) 2023.06.05
    Python 변수&문자열, 주피터(Jupyter notebook) 단축키  (0) 2023.06.05
Designed by Tistory.