파이썬 기초6. 리스트(list), remove, append, insert, del, sorted, reverse
1.리스트란?
자료가 많은 경우 여러 개의 데이터를 한꺼번에 저장하고 처리할 수 있도록 리스트(list)가 사용됨
리스트의 시작과 끝은 대괄호([])를 묶어 사용, 리스트 생성 시에는 저장할 숫자나 문자 같은 데이터를 쉼표(,)로 분리하여 대괄호 안에 넣음
1-1. 인덱스란?
리스트에서 항목의 위치를 알려주는 번호
2.리스트 항목 변경과 추가
cart=["사과","세제","화장지","치약"]
cart[1]="섬유유연제"
print(cart)
*존재하지 않는 인덱스 항목은 변경이 불가함
2-1. append()
리스트에 항목을 추가할 때 사용
cart=["사과","세제","화장지","치약"]
cart[1]="섬유유연제"
cart.append("양말")
print(cart)
2-2. insert()
리스트에 항목 추가할 때 사용
리스트명.insert(넣을 번호, "항목명")
cart=["사과","세제","화장지","치약"]
cart[1]="섬유유연제"
cart.append("양말")
cart.insert(1,"건전지")
print(cart)
3. 리스트 항목 삭제하기
3-1. remove()
리스트명.remove("항목명")
cart=["사과","세제","화장지","치약"]
cart.remove("화장지")
print(cart)
or
cart=["사과","세제","화장지","치약"]
if "화장지" in cart:
cart.remove("화장지")
print(cart)
3-2. del 리스트명[]
cart=["사과","세제","화장지","치약"]
del cart[2]
print(cart)
3-3.리스트명.pop()
리스트에서 마지막 항목을 삭제하고 해당 항목을 반환
cart=["사과","세제","화장지","치약"]
item=cart.pop()
print(cart)
print(item)
4.리스트에서 항목 찾기
4-1. index()
cart=["사과","세제","화장지","치약"]
print(cart.index("화장지"))
cart=["사과","세제","화장지","치약"]
if "화장지" in cart:
print(cart.index("화장지"))
*파이썬에서 점(.)이 의미
파이썬에서 사용되는 것은 객체(object)임
객체는 특징에 해당하는 변수와 기능에 해당하는 함수로 구성이 되어 있는데, 객체가 가지고 있는 기능이나 특징을 프로그래밍에서 사용할 때 객체 이름을 쓰고 점(.)을 붙인 후 함수 이름을 적으면 그 객체 기능을 사용할 수 있음
점= '~의' 해석
5. sort() -오름차순 정렬
리스트를 규칙에 따라 순서대로 정렬할 때 사용
heroes=["아이언맨","토르","헐크","스칼렛 위치"]
heroes.sort()
print(heroes)
5-1. 내림차순 정렬 -> 'reverse=True' 작성
heroes=["아이언맨","토르","헐크","스칼렛 위치"]
heroes.sort(reverse=True)
print(heroes)
5-2. 정렬된 새로운 리스트 생성 -> 'sorted()'
heroes=["아이언맨","토르","헐크","스칼렛 위치"]
new_heroes=sorted(heroes)
print(heroes)
print(new_heroes)
6. 2차원 리스트 구조
리스트 안에 리스트를 중첩하여 표(테이블)를 작성 가능
num=[[10,20,30,],[40,50,60]]
print(num)
num=[[10,20,30,],[40,50,60]]
print(num[0][0])
print(num[0][1])
print(num[1][1])
print(num)
7. 리스트와 반복문
리스트 안의 데이터를 처리할 때 반복문을 사용하면 작업 시간을 단축시킬 수 있음
예제1) 반복문을 사용하여 명단 만들기
heroes=[]
for i in range(5):
name=input("영웅들의 이름을 입력하세요 :")
heroes.append(name)
for i in heroes:
print(i,end="")
예제2) 조선시대 왕 이름 리스트 만들기
king_table=[]
for i in range(4):
king=input("조선시대 왕 순서 구절을 입력하시오:")
king_table.append(king) #input된 king이름을 king_table의 리스트로 추가
print(king_table)
count=1 #왕 이름 번호
for i in king_table:
for j in i: #j는 왕 이름
if j=="연":
print("연산군")
elif j=="광":
print("광해군")
elif count in [1,7,14,16,21,22,23]:
print(j+"조")
else:
print(j+"종")
count=count+1
예제3) 오늘의 명언 만들기
import random
quotes=[]
quotes.append("꿈을 지녀라. 그러면 어려운 현실을 이길 수 있다.")
quotes.append("분노는 바보들의 가슴속에서만 살아간다.")
quotes.append("고생 없이 얻을 수 있는 진실로 귀중한 것은 하나도 없다.")
quotes.append("사람은 사랑할 때 누구나 시인이 된다.")
quotes.append("시작이 반이다.")
dilyQuote=random.choice(quotes)
print("# 오늘의 명언 #")
print("")
print(dilyQuote)