마케팅/파이썬

파이썬 기초6. 리스트(list), remove, append, insert, del, sorted, reverse

내이름은뭘까 2023. 5. 26. 15:56

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)