리스트
형태
변수명 = [ ]
특징
- 인덱스를 초과하는 값은 에러를 낸다.
- -1이 인덱스 가장 마지막 순서로 시작한다는 특징이 있다.
- 음수도 0번째 인덱스보다 더 앞의 값을 불러오면 에러를 내다.
- 리스트는 안의 값으로 타고 들어가는 속성이 있다.
- [ : ] 를 사용하면 리스트를 복사할 수 있다.
i = 0
while i < len(numbers):
if numbers[i] % 2 != 0:
del numbers[i]
i += 1
#number(리스트)가 홀수인 요소를 지워라.
#문제점 : 홀수가 지워지면서 인덱스가 하나씩 당겨짐
i = 0
while i < len(numbers):
if numbers[i] % 2 != 0:
del numbers[i]
else i += 1
#짝수일 때만 i가 하나씩 늘어서 다음 인덱스로 넘어가야 함
잊어버릴 때쯤 나오는 강조문
※파이썬은 숫자와 문자의 직접적인 연결이 불가능하다※
리스트 슬라이싱
리스트[시작 index : 끝 index +1]
첫 번째 값은 인덱스 값을 그대로 사용하면 된다. 두번째 값은 인덱스 값에 +1 한 값으로 생각해야 한다.
예를 들어 3번째 인덱스까지 가져오려면 4를 표기해야 한다.
리스트 함수
리스트+리스트 : 앞의 리스트에 뒤의 리스트를 연결하여 하나의 리스트로 만든다.
a리스트.extend(b리스트) : a리스트에 b리스트를 더한다.
len(리스트) : 리스트의 길이를 반환한다.
*리스트의 요소를 바꾸고 싶다면 리스트의 요소를 재정의하면 된다.
리스트.append(요소) : 리스트 마지막에 요소를 추가한다.
리스트.insert(인데스, 요소) : 원하는 인덱스(위치)에 요소를 추가한다.
리스트.clear( ) : 전체 리스트를 삭제한다.
리스트.pop( ) : 리스트의 마지막 요소를 리턴하고 삭제한다.
del 리스트[인덱스] : 리스트의 인덱스에 해당하는 요소를 삭제한다.
리스트.remove(요소) : (중복이 있다면) 요소와 일치하는 첫번째 요소를 삭제한다.
*del 과 remove의 차이는 del은 인덱스를 찾아 요소를 삭제하고, remove는 요소를 찾아 인덱스를 삭제한다는 것이다.
리스트.count(요소) : 리스트 안에 요소가 몇개인지 검색한다.
리스트.index(요소) : 요소를 검색하여 리스트의 인덱스를 리턴한다.
print(value in 리스트) : 리스트의 값이 있는지 확인한다. True, Flase로 반환한다.
print(value not in 리스트) : 리스트의 값이 없는지 확인한다. True, Flase로 반환한다.
리스트.reverse( ) : 리스트 요소의 순서를 거꾸로 나열한다.
numbers.sort( ) : 리스트의 요소를 정렬한다.
sorted(리스트, reverse=True) : 리스트의 요소를 정렬한다.
*sort와 sorted의 차이는 sort는 기존 리스트의 요소를 정렬, sorted는 요소가 정렬된 새로운 리스트를 리턴한다는 것이다. 이 때문에 sorted를 사용하고 print(기존 리스트)를 하면 정렬이 반영되지 않는다.
Aliasing
간단하게 변수가 이름표라고 한다면, 하나의 객체에 여러가지 이름표가 붙은 것을 에일리어싱 되었다고 표현한다.
*참조나 Class가 궁금하다면 C#으로 찾아보는 것을 추천
*리스트의 요소는 재정의 할 수 있으나, 문자열의 문자는 재정의 할 수 없다.
리스트[idx] = "난나고" O
문자열[idx] = "넌너야" X