220922 Python #8

김혜진·2022년 9월 22일
0

Python

목록 보기
7/24

Python #8

리스트

리스트의 수정, 삭제

  • 리스트의 인덱스에 접근하여 수정 가능
ktx = [10, 20, 30, 40]
ktx[0] = 100
ktx[2] = 300
print(ktx)

출력결과
[100, 20, 300, 40]

  • 기존 리스트에 값을 추가하여 늘릴 수 있다.
ktx = [10, 20, 30, 40]
ktx[2:3] = [300, 301, 302]
print(ktx)

출력결과
[10, 20, 300, 301, 302, 40]

1개의 값을 3개의 연속된 형태의 값으로 변경된 것을 확인할 수 있다.

  • 리스트의 항목을 삭제할 수 있다.
del(리스트이름[위치])
ktx = [10, 20, 30, 40]
del(ktx[2])
print(ktx)

출력결과
[10, 20, 40]

  • 리스트의 여러 항목을 한번에 삭제할 수 있다.
    리스트이름[시작인덱스 : 끝인덱스 + 1] = []
ktx = [10, 20, 30, 40]
ktx[1:3] = []
print(ktx)

출력결과
[10, 40]

리스트의 유용한 제공 함수

  • 리스트의 여러가지 제공 함수들이 있다.
ktx = [10,20,30,40]
print('현재 리스트', ktx)

ktx.append(50)
print('현재 리스트', ktx)

ktx.pop()
print('현재 리스트', ktx)

ktx.reverse()
print('현재 리스트', ktx)

ktx.sort()
print('현재 리스트', ktx)

ktx.remove(30) # 삭제할 값 넣기. 인덱스 X
print('현재 리스트', ktx)

ktx.insert(1, '이건 뭐야') # 같은 타입이 아니더라도 가능
print('현재 리스트', ktx)

tgv = [100, 200, 300]
ktx.extend(tgv)
print('현재 리스트', ktx)

idx = ktx.index(40)
print('index 값 : ' , idx)

lens = len(ktx)
print('길이 : ', lens)

출력결과
현재 리스트 [10, 20, 30, 40]
현재 리스트 [10, 20, 30, 40, 50]
현재 리스트 [10, 20, 30, 40]
현재 리스트 [40, 30, 20, 10]
현재 리스트 [10, 20, 30, 40]
현재 리스트 [10, 20, 40]
현재 리스트 [10, '이건 뭐야', 20, 40]
현재 리스트 [10, '이건 뭐야', 20, 40, 100, 200, 300]
index 값 : 3
길이 : 7


튜플

튜플이란 무엇인가

  • 튜플은 리스트와 비슷한데 다른 점은 값을 읽기만 가능하다는 점이다.
  • 튜플은 괄호()를 이용하여 만들 수 있다.
  • 괄호()를 생략해도 튜플이 생성된다.
tp1 = (1,2,3)
tp2 = 1,2,3
  • 한 개의 항목을 갖는 튜플 생성 시, 한 개의 항목 뒤에 콤마(,)를 붙인다.
tp1 = (1,)
tp2 = 1,
tp1 = (1,2,3,4)
tp2 = 1,2,3,4 # 괄호를 쓰지 않아도 튜플로 인식

tp3 = (1,) # 한 개의 항목을 갖는 튜플에는 콤마를 붙임

print(tp1)
print(tp2)

tp4 = (10,)
tp5 = (10)
tp6 = 10,

print(tp4)
print(tp5)
print(tp6)

출력결과
(1, 2, 3, 4)
(1, 2, 3, 4)
(1,)
(10,)
10
(10,)


딕셔너리

딕셔너리란 무엇인가

  • 사전적인 의미로 '사전'이다.
  • 사전의 용도는 단어를 찾기 위해서이다. (검색)
  • Friend의 단어와 뜻 '친구'는 한 쌍으로 관리된다.
  • 편의점의 바코드(상품명과 가격정보가 한 쌍으로 관리)
    삼각김밥 : 1000원
    컵라면 : 800원

딕셔너리의 생성

딕셔너리 변수 = {키1: 값1, 키2: 값2, 키3: 값3...}
키와 값의 쌍으로 이루어진 데이터들을 중괄호{}로 묶어 변수에서 관리

product = {'컵라면' : 800, '박카스' : 1000, '생수' : 900}
word = {'boy' : '소년', 'girl' : '소녀', 'family' : '가족'}

print(product)
print(word)

출력결과
{'컵라면': 800, '박카스': 1000, '생수': 900}
{'boy': '소년', 'girl': '소녀', 'family': '가족'}

딕셔너리의 추가

딕셔너리 이름[키] = 값

product = {'컵라면' : 800, '박카스' : 1000, '생수' : 900}
word = {'boy' : '소년', 'girl' : '소녀', 'family' : '가족'}

product['아이스크림'] = 1000
product['밀크티'] = 2000
print(product)

word['house'] = '집'
word['water'] = '셀프'
print(word)

출력결과
{'컵라면': 800, '박카스': 1000, '생수': 900, '아이스크림': 1000, '밀크티': 2000}
{'boy': '소년', 'girl': '소녀', 'family': '가족', 'house': '집', 'water': '셀프'}

딕셔너리의 삭제

product = {'컵라면' : 800, '박카스' : 1000, '생수' : 900}
word = {'boy' : '소년', 'girl' : '소녀', 'family' : '가족'}

product['아이스크림'] = 1000
product['밀크티'] = 2000
print(product)

word['house'] = '집'
word['water'] = '셀프'
print(word)

del(product['생수'])
print(product)

del(word['water'])
print(word)

출력결과
{'컵라면': 800, '박카스': 1000, '생수': 900, '아이스크림': 1000, '밀크티': 2000}
{'boy': '소년', 'girl': '소녀', 'family': '가족', 'house': '집', 'water': '셀프'}
{'컵라면': 800, '박카스': 1000, '아이스크림': 1000, '밀크티': 2000}
{'boy': '소년', 'girl': '소녀', 'family': '가족', 'house': '집'}

딕셔너리의 사용

  • 키를 통해 값에 접근하는 get() 함수
    딕셔너리이름.get(키)

  • 딕셔너리의 모든 키를 반환하는 keys() 함수
    딕셔너리이름.keys()

  • 딕셔너리의 모든 값을 반환하는 values() 함수
    딕셔너리이름.values()

key라는 수단으로 value의 값을 찾기 위해서 사용한다.

product = {'컵라면' : 800, '박카스' : 1000, '생수' : 900}

item = input('상품을 입력하세요 : ')
if (item in product) :
    print('상품이 있습니다.')
else :
    print('상품이 없습니다.')

출력결과
상품을 입력하세요 : (컵라면)
상품이 있습니다.

나라 이름 입력하면 나라의 수도 이름이 출력되는 프로그램



capital = {
    '네팔': '카트만두',
    '대한민국' : '서울',
    '중국' : '베이징',
    '일본' : '도쿄',
    '이탈리아' : '로마',
    '러시아' : '모스크바',
    '독일' : '베를린',
    '미국' : '워싱턴',
    '프랑스' : '파리',
    '영국' : '런던'
    }

while(True):
    contry = input(str(list(capital.keys())) + '나라의 수도는 무엇일까요? ')
    if contry in capital :
        print(contry, '의 수도는', capital.get(contry), '입니다.')
    elif contry == 'q' :
        break
    else :
        print('그런 나라가 없습니다.')

출력결과
['네팔', '대한민국', '중국', '일본', '이탈리아', '러시아', '독일', '미국', '프랑스', '영국']나라의 수도는 무엇일까요? (이탈리아)
이탈리아 의 수도는 로마 입니다.
['네팔', '대한민국', '중국', '일본', '이탈리아', '러시아', '독일', '미국', '프랑스', '영국']나라의 수도는 무엇일까요? (q)


부록

if ~ in / if ~ not in

  • if A in B : B안에 A가 있으면 참(true)이다.
  • if A nopt in B : B안에 A가 없다면 참(true)이다.
  • B에는 리스트, 튜플, 문자열을 사용할 수 있다.
arr_list = [1,2,3,4,5]
if 9 not in arr_list : 
    print('9가 없다.')
else :
    print('9가 있다.')

출력결과
9가 없다.

str = 'Hello'
if 'a' not in str :
    print('a가 문자열 안에 없다.')
if 'e' in str :
    print('e가 문자열 안에 있다.')

출력결과
a가 문자열 안에 없다.
e가 문자열 안에 있다.

profile
알고 쓰자!

0개의 댓글