NEVERTHELESS

[Python] 리스트(List) 기본 - 파이썬 자료구조

by Ungbae

본 게시글은 학부 강의 '컴퓨터 프로그래밍 1', 강의 교재 '파워 유저를 위한 파이썬 Express'의 내용들을 바탕으로 이해한 내용을 정리하였습니다.

 

 

 

집 앞 롯데리아만 가도 우리는 키오스크를 접할 수 있다. 필자는 착한점심을 좋아한다.

그리고 나는 다른 곳에서도, 생각지도 못한 곳에서도 키오스크를 발견한 적이 있었다. 그리고 술집에 갔을 때 이제는 종업원이 아닌 작은 화면의 키오스크 화면이 나를 반겨준다. 나와 같은 I를 가진 사람에게는 더 이상 귀가 빨개져 가면서까지 메뉴를 초조해하며 고르지 않아도 되는 시대를 살아가고 있었다.

우리가 사소하지만 익숙함에 속아 늘 사용하고 있는 것. 전자제품이 생겨나기 전에도 액정 화면이 아닌 종이로도 보고 있었던 것. 바로 목록. 리스트이다.

 

우리 생활 속에서 느끼지도 못할만큼 자주보았던 생활 필수품(?) 즉, 어찌보면 이 파이썬의 리스트의 개념은 상상 그 이상으로 중요한 개념일 지 모른다. 그래서 나는 이 단원은 더더욱 자세히 이해하고 넘어가고 싶었다.

 

 

 

 

 

 

미리보는 최종 목표

 

# 출력 결과

성적을 입력하시오 : 10
성적을 입력하시오 : 30
성적을 입력하시오 : 50
성적을 입력하시오 : 70
성적을 입력하시오 : 80
성적 평균 = 48.0
최대점수 = 80
최소점수 = 10
80점 이상 = 1


# 학습이 끝나면 이 결과가 출력되는 코드를 작성해보자

 

 

 

 

리스트

 

 

  • 리스트는 항목(item)들을 저장하는 컨테이너로서 그 안에 항목들이 순서를 가지고 저장된다.
  • 리스트는 어떤 타입의 항목이라도 저장할 수 있다. 파이썬에서 리스트는 정말 유용하고 많이 사용된다.

 

 

 

# Syntax

# 리스트_이름 = [ 요소1, 요소2, ... ]

temps = [28, 31, 33, 35, 27, 26, 25]		# 초기값을 가진 리스트를 생성
# temps : 리스트의 이름
e = temps[3]		# 대괄호를 사용하여 요소에 접근

 

 

 

리스트의 항목 접근

 

 

리스트의 인덱스

 

  • 인덱스(index)란 리스트에서의 항목의 위치(번호)이다.
  • 0부터 시작한다.

 

리스트의 요소 변경

 

 

 

음수 인덱스

 

 

  • 음수 인덱스는 리스트의 끝에서부터 매겨진다.

 

 

 

인덱스 오류

 

  • 인덱스를 사용할 때는 인덱스가 적정한 범위에 있는지를 항상 신경써야 한다.
temp = [28, 31, 33, 35, 27, 26, 25]

temps[7] = 29

# 오류 발생

 

 

 

 

리스트 방문

temps = [18, 31, 33, 38, 23, 25, 24]
for i in range(len(temps)):
	print(temps[i], end=',')


# 출력 결과
# 18, 31, 33, 38, 23, 25, 24

 

 

 

 

 

zip() 함수

 

  • zip() 함수는 2개의 리스트를 받아서 항목 2개를 묶어서 제공한다.

 

quenstions=['name', 'quest', 'color']
answers = ['Kim', '파이썬', 'blue']
for q, a in zip(quenstions, answers):
	print(f"What is your {q}? It is {a}")

 

 

 

리스트 탐색

heroes = ["Ironman", "Thor", "Hulk", "ScarletWitch", "Falcon"]
n = heroes.index("Hulk")

# n은 2

 

 

 

탐색 시 오류를 발생시키지 않으려면?

if "Hulk" in heroes:
	print(heroes.index("Hulk"))

heroes = ["Ironman", "Thor", "Hulk", "ScarletWitch", "Falcon"]
n = heroes.index("Hulk", 3)

# n은 4

 

 

 

 

요소 삭제

 

 

  • 항목이 저장된 위치를 알고 있다면 pop(i)을 사용한다.
  • 항목의 값만 알고 있다면 remove(value)를 사용한다.

 

 

 

remove()

heroes = ["Ironman", "Thor", "Hulk"]
heroes.remove("Thor")

# 만약 삭제하고자 하는 항목이 없다면 오류(예외)가 발생

 

if "Thor" in heroes:
	heroes.remove("Thor")
    
# 확인 후 삭제

 

 

 

 

리스트 연산 총정리

 

 

 

리스트 메서드 총정리

 

 

 

리스트에서 사용할 수 있는 내장 함수

 

 

 

리스트 원소를 무작위로 선택하기

import random

numberList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("Random choice : ", random.choice(numberList))

# 출력 결과 예시
# Random choice : 3

 

 

 

블로그의 정보

그럼에도 불구하고

Ungbae

활동하기