3.1 파이썬 자료구조_list 스터디노트

소리·2023년 9월 27일
0

컨테이너 자료형

: 여러 개의 데이터가 묶여있는 자료형 (리스트[], 튜플(), 딕셔너리{}, 세트{})

리스트

: 배열과 같이 여러 개의 데이터를 나열한 자료구조

  • [ ]로 선언 / ,로 구분 / 서로 다른 기본 데이터 저장 가능
  • 리스트에 또다른 컨테이너 자료형 데이터 저장 가능

인덱스 : 아이템에 자동으로 붙는 번호표로, 0부터 시작한다.
.
리스트 안에 리스트가 있을 경우,
-list[n][0] : n번째 리스트의 0번째 위치 아이템
.
.
.

[적용]

  • for 문을 이용하면 리스트의 아이템을 자동으로 조회할 수 있다.
    1)
for i in range(len(cars)): 
	print(car[i])

2)

for car in cars:
	print(car)

.
.

  • while을 이용하면 리스트의 아이템을 인수별로 조회할 수 있다.

1)

n = 0
while n < len(cars):
	print(car[n])
    n += 1

2)

n = 0
flag = True
while flag: 
	print(car[n])
    n += i
    if n == len(cars):
    	flag = False

3)

n = 0
while True:
	print(cars[n])
    n += 1
    if n == len(cars):
    	break

리스트 기능

  • 아이템 추가 : list.append()
  • 특정 위치에 아이템 추가 : list.insert()
    예) students.insert(3, '강호동') : 3번 인덱스 자리에 강호동 삽입
  • 아이템 삭제 : list.pop()
    마지막 인덱스에 해당하는 아이템을 삭제할 수 있고, 할당할 경우 지워진 데이터를 반환할 수 있다.
    .
    -list.pop(n) : n인덱스에 해당하는 아이템을 삭제
  • 특정 아이템 삭제 : list.remonve()
    한 개만 삭제할 수 있기 때문에 중복값을 지워야 할 경우 while 문 사용
# subjects 내 removeSubject가 중복으로 들어있음

while removeSubject in subjects:
	subjects.remove(removeSubject)
  • del list[n] : 특정 아이템 삭제 가능 & 한 번에 한 개씩만 가능

  • 리스트 간 연결 : list.extend()
    -덧셈연산자(+)로도 가능

  • 아이템 정렬 : list.sort() - 오름차순
    -내림차순은 sort(reverse = True)

  • 아이템 순서 뒤집기 : list.reverse()
    -정렬함수와 좀 다르다

  • 슬라이싱 방법1 : list[n:m] ; n <= x < m
    [n: ] = n부터 끝까지
    [2:-2] = 2 ~뒤에서 -2 인덱스까지
    [n:m:l] = n에서 m까지 l칸 씩 띄어서
    -리스트, 문자열 슬라이싱이 가능하고,
    -할당 연산자로 슬라이싱 부분 아이템 변경이 가능하다

student[1:4] = [a, b, c] 
#인덱스와 값 숫자가 맞지 않으면 남는 인덱스/값이 날아김
  • 슬라이싱 방법2 : slice()
    -student[slice(2,4)]

  • 아이템 위치 찾기 : index(item)
    -아이템 인덱스를 알수 있다.

  • 특정 아이템의 갯수를 알 수 있다 : list.count()

  • 리스트에 곱셈 연사을 하면 아이템이 반복된다.

students = [a, b, c, d]
result = students * 2

result => [a, b, c, d, a, b, c, d]

.
.
.

enumerate() 함수 : 아이템을 열거할 수 있다.

다음 2개 for문은 동일하다.

for i in range(len(sports)):
	print('{} : {]'.format(i, sport[i]))
    
for idx(index), value(item) in enumerate(sports):
 	print('{} : {]'.format(idx, value))

그러나 다음 식과는 다른 결과 값이 나온다.

for idx, value in sports:
	print(idx, value)

sport list = [[1, football, [2, basketball]] 이렇게 리스트로 되어있을 때 사용할 수 있다.

  • 문자열에도 적용이 가능하다
str = 'Hello Python'

for idx, value in enumerate(str):
	print('{}:{}'.format(idx, value))

output

profile
데이터로 경로를 탐색합니다.

0개의 댓글