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
'python > Python_김왼손의 미운코딩 새끼' 카테고리의 다른 글
Part 13 ~ 17 (0) | 2020.03.20 |
---|---|
Part 9 ~ 12 (0) | 2020.03.20 |
Part 6 (0) | 2020.03.19 |
Part 1 ~ 5 (0) | 2020.03.17 |
댓글