10주차. 리스트와 반복문

09Roalwlzm01·2023년 10월 4일
0

Python

목록 보기
22/36
post-thumbnail

list

  • 여러가지 자료를 저장할 수 있는 자료형
  • 숫자나 문자열, 수식 등의 자료를 모아서 사용할 수 있게 하는 특별한 형태의 자료형
  • 대괄호[ ] 내부에 여러 종류의 자료를 넣어서 리스트를 선언함
>> array = [273, 32, 103, "문자열", True, False]
>> print(array)
[273, 32, 103, '문자열', True, False]
>> type(array)
<class 'list'>

리스트 선언하기

  • 대괄호[ ]에 자료를 쉼표로 구분하여 입력하여 선언
    - [요소, 요소, 요소, ...]
  • 리스트는 한 가지 자료형만으로도 구성할 수 있고, 여러 종류의 자료형으로 구성할 수도 있음
  • 요소(element)
    - 대괄호 내부에 넣은 자료
>> [1, 2, 3, 4]
[1, 2, 3, 4]
>> ["안", "녕", "하", "세", "요"]
['안', '녕', '하', '세', '요']
>> [273, 32, 103, "문자열", True, False]
[273, 32, 103, "문자열", True, False]

리스트 요소에 접근하기 (index)

  • 리스트 이름 바로 뒤에 대괄호[ ](리스트 접근 연산자)를 입력하고, 대괄호 안에 자료의 위치를 나타내는 숫자(인덱스, index)를 입력하여 리스트 내 특정 위치(또는 범위)의 요소에 접근
list_a = [273, 32, 103, "문자열", True, False]
  • 리스트 내 요소의 위치는 문자열과 같이 0부터 시작함
  • 리스트 인덱싱
    - 리스트 내부에서 값의 위치로 요소를 참조 (요소의 값이 반환)
  • 리스트 슬라이싱
    - 범위를 지정하여 리스트의 일부를 참조 (리스트가 반환)
>> list_a = [273, 32, 103, "문자열", True, False]
>> list_a[0]		# 리스트 인덱싱
273
>> list_a[1:3]		# 리스트 슬라이싱
[32, 103]

리스트의 특정 요소 변경하기

  • 리스트를 인덱싱하여 새로운 값을 대입하면, 리스트의 특정 요소를 변경할 수 있음

대괄호 안에 음수를 넣어 요소 선택하기

  • 대괄호 안에 음수를 넣으면 뒤에서부터 요소를 선택할 수 있음

이중으로 리스트 접근 연산자 사용하기

  • 이중으로 리스트 접근 연산자를 사용하면, 가져온 리스트 요소(또는 문자열)에서 특정 요소(또는 문자)를 참조할 수 있음

리스트의 리스트 (중첩 리스트)

  • 리스트의 요소로 리스트를 사용할 수 있음

리스트에서의 IndexError 예외



리스트 연산하기

  • 리스트 연결 연산자 (+)
  • 리스트 반복 연산자 (*)
  • len(리스트) 함수
    - 리스트 요소의 개수를 반환

리스트에 요소 추가하기

append()

insert()


extend()

  • 리스트.extend(리스트)

리스트 연결 연산자와 요소 추가 메서드 간 차이점

  • 리스트 연결 연산자는 원본 리스트에 어떠한 영향도 주지 않음 (비파괴적 연산 또는 함수)
    - 숫자, 문자열, 불 등 기본 자료형과 관련된 것은 보통 비파괴적으로 동작
  • append(), insert(), extend() 메서드는 원본 리스트에 직접적인 영향을 줌 (파괴적 연산 또는 함수)
    - 리스트, 딕셔너리({ }) 등의 자료형은 원본 데이터를 직접 조작하는 파괴적 연산 기능을 제공

리스트에서 요소 제거하기

ㅡㅡ 인덱스로 요소 제거하기 ㅡㅡ

del 키워드

  • del 리스트[인덱스]
  • del 리스트[범위]

pop() 메서드

  • 리스트.pop(인덱스)
    - 인덱스를 입력하지 않으면 -1을 기본값으로 하여 마지막 요소를 제거


ㅡㅡ 값으로 요소 제거하기 ㅡㅡ

remove() 메서드

  • 특정 값을 지정해서 요소를 제거
  • 리스트.remove(값)
  • 리스트 내부에 지정한 값이 여러 개 있는 경우 먼저 발견되는 하나만 제거함

clear() 메서드

  • 리스트 내부의 요소를 모두 제거할 때 사용하는 메서드
  • 리스트.clear()


리스트 정렬하기

sort() 메서드

  • 리스트 요소를 정렬할 때 사용하는 메서드
  • 리스트.sort(reverse=False)


리스트 내부에 있는지 확인하기

in 연산자

  • 특정 값이 리스트 내부에 있는지(요소 인지)를 확인하여 불 값으로 반환
  • 값 in 리스트

not in 연산자

  • 특정 값이 리스트 내부에 없는지(요소가 아닌지)를 확인하여 불 값으로 반환
  • 값 not in 리스트

반복문

  • 컴퓨터에 반복을 지시하는 명령
    - 컴퓨터는 아무리 반복해도 지루해 하지도 않고, 능률이 떨어지지 않음


for 반복문

  • 출력 명령을 100번 반복하기
for i in range(100):	# range(100) : 반복에 사용할 수 있는 자료
	print("출력")

  • 반복할 수 있는 것
    - 리스트, 문자열, 딕셔너리, 범위 etc
    - 반복 가능한 객체 (iterable object)


중첩 반복문

  • 반복문을 여러 겹 중첩해 사용한 반복문
  • 일반적으로 n-차원 처리를 할 때 사용
    • 1차원 리스트
      : 리스트가 한 겹으로 감싸진 리스트 ([1, 2, 3])
    • 2차원 리스트
      : 리스트가 두 겹으로 감싸진 리스트 ([1, 2, 3], [4, 5, 6])
  • n-차원 리스트 요소를 모두 확인하려면 반복문을 n번 중첩해야 함






전개 연산자

  • 리스트 내용을 전개해서 입력으로 처리하는 연산자
  • 리스트 앞에 *기호 를 사용

0개의 댓글