Part 7 ~ 8

Jina·2020년 2월 25일
0

7. 리스트 (List)

리스트

  • 여러 값을 한번에 저장 가능
  • 값 변경가능 / 순서 존재
  • 가변(mutable) : 값 변경 가능 ex ) 리스트, 딕셔너리 등
    불변(immutable) : 값 변경 불가능 ex) 문자열, 튜플 등

    jina_List = [ ]
    print (jina_List) // [ ]

    jina_List2 = ['j', 'i', 'n', 'a']
    print (jina_List2) // ['j', 'i', 'n', 'a']
    print (jina_List2[0]) // j

    리스트 값 추가하기

  • list.append( )를 사용해서 값 추가
  • 리스트가 없는 상태에는 append( )를 이용해 값 추가 불가능
  • animals = [ ]
    print (animals) // [ ]

    animals.append('cat')
    print (animals) // ['cat']
    animals.append('dog')
    print (animals) // ['cat', 'dog']

    리스트 인덱싱, 슬라이싱

    인덱싱 - 위치를 이용해서 값에 접근하는 것 / 0부터 시작
    문자열의 인덱싱, 슬라이싱과 유사함

    animals = ['cat', 'dog', 'lion', 'tiger', 'rabbit', 'whale', 'bird']
    print(animals[3]) // tiger
    print(animals[4:6]) // ['rabbit', 'whale']

  • list.sort(): 리스트 안의 값을 정렬
  • 예시)

    animals = ['cat', 'dog', 'lion', 'tiger', 'rabbit', 'whale', 'bird', 'lion']
    animals.sort()
    print (animals)
    // ['bird', 'cat', 'dog', 'lion', 'lion', 'rabbit', 'tiger', 'whale']

  • list.count(): 해당 값의 개수 count
  • 예시)

    animals = ['cat', 'dog', 'lion', 'tiger', 'rabbit', 'whale', 'bird', 'lion']
    print (animals.count('lion')) // 2
    print (animals.count(animals[2])) // 2
    print (animals.count(animals[7])) // 2
    print (animals.count('cat')) // 1

  • len(list) : 리스트의 요소 개수 구하기
  • 리스트 내장 함수

    예시)

    animals = ['cat', 'dog', 'lion', 'tiger', 'rabbit', 'whale', 'bird', 'lion']
    print (len(animals)) // 8

    8. 듀플

    듀플

  • 여러 값을 한번에 저장 가능
  • 값 변경 불가능
  • 가변(mutable) : 값 변경 가능 ex ) 리스트, 딕셔너리 등
    불변(immutable) : 값 변경 불가능 ex) 문자열, 튜플 등

    예시)

    jina_tuple = (1, 2, 3)
    print (jina_tuple) // (1, 2, 3)
    tuple2 = ('병아리', '닭', '토끼')
    print (tuple2) // ('병아리', '닭', '토끼')

  • 듀플은 괄호를 쓰지 않아도 됨
  • 예시)

    jina_tuple = 1, 2, 3
    print (jina_tuple) // (1, 2, 3)
    tuple2 = '병아리', '닭', '토끼'
    print (tuple2) // ('병아리', '닭', '토끼')

    패킹, 언패킹

  • 패킹(packing) : 여러 개의 값을 한꺼번에 묶는 것
  • 예시)

    numbers = (1, 2, 3, 4, 5)

    예시와 같이 여러 개의 데이터를 묶어 변수에 대입하는 것을 packing이라고 부름

  • 언패킹(unpacking) : 묶여 있는 값을 풀어놓는 것
  • 예시)

    numbers = (1, 2, 3, 4, 5) #패킹
    a,b,c,d,e = numbers #언패킹
    print(b) // 2

    패킹의 예시의 변수에 또 다른 데이터 꾸러미를 대입
    이와 같이 데이터 꾸러미의 요소를 여러 개의 변수에 나누어 담는 방법을 unpacking

    주의사항 1 ) 대입문에서 양 변의 시퀀스 길이는 일치해야 함
    *시퀀스(sequence)는 데이터에 순서(번호)를 붙여 나열한 것

    주의사항 2)

    위의 예시는 다음과 같이 잘 진행됨

    numbers = (1, 2, 3, 4, 5) #패킹
    a,b,c,d,e = numbers #언패킹
    print(b) // 2

    만약 아래와 같을 때

    경우 1 )

    numbers = a,b,c,d,e #패킹
    _1, _2, _3, _4, _5 = numbers #언패킹
    print(_2) // name 'a' is not defined

    진행되지 않음 > 이유는 a,b,~가 문자열인데 (' ') 또는 (" ")로 묶여쓰이지 않아서
    변수 = '문자열' 이어야 함

    따라서 아래와 같이 고침

    numbers = 'a','b','c','d','e' #패킹
    _1, _2, _3, _4, _5 = numbers #언패킹
    print(_2) // b

    경우 2)

    numbers = 'a','b','c','d','e' #패킹
    1, 2, 3, 4, 5 = numbers #언패킹
    print(2) // can't assign to literal

    진행되지 않음 > 이유는 1, 2, 3 ~ 이 변수 Naming rule에 맞지 않아서

    Naming rule

    • 글자나 _를 사용
    • 대문자와 소문자를 구분
    • 띄어쓰기 포함하지 않음
    • 숫자로 시작하는 이름은 사용할 수 없음

    따라서 아래와 같이 고치면 됨

    numbers = 'a','b','c','d','e' #패킹
    _1, _2, _3, _4, _5 = numbers #언패킹
    print(_2) // b

    ref) https://python.bakyeono.net/chapter-5-5.html

    0개의 댓글