파이썬 기초 2 - 01 기초 자료형2

핏자·2023년 4월 4일
0

인공지능사관학교

목록 보기
5/31
post-thumbnail
  • 문자열/리스트 활용

- list.pop(i)

인덱스 i의 원소를 제거 후 그 원소를 반환

(괄호를 비울 시 마지막 원소)

my_list = [1,2,3,4,5]
print(my_list.pop(0)) #1
print(my_list.pop()) #5

- seq.count(d)

시퀀스 내부의 자료 d의 개수를 반환

my_seq = [2,2,2,4,4]
print(my_seq.coutn(2)) #3

- str.split(c)

c를 기준으로 문자열을 쪼개서 리스트를 반환

(괄호를 비울 시 공백)

my_str = "1 2 3 4 5"
print(my_str.split()) #['1','2','3','4','5']
element = "Na, Mg, Al, Si"
print(element.split(',')) #['Na','Mg','Al','Si']

- str.join(list)

str을 기준으로 리스트를 합쳐서 문자열을 반환

(괄호를 비울 시 공백)

my_list = ['a','p','p','l','e',]
print(''.join(my_list)) #apple
frient = ['pat', 'mat']
print('&'.join(friend)) #pat&mat]



  • 튜플

- 여러 자료를 담는 자료형이 필요하면?

대부분 리스트를 이용

그러나 값이 바뀔 위험이 있다!

my_list = ['l','i','s','t']
my_list[1] = 'a'
print(my_list) #['l','a','s','t']

- Tuple의 필요성

값을 바꿀 수 없으면서도

여러 자료를 담을 순 없을까?

-> Tuple(튜플)!

- Tuple(튜플)

여러 자료를 함께 담을 수 있는 자료형

( ) - 소괄호로 묶어서 표현

tuple_zero = ()
tuple_one = (1,)
tuple_ = (1, 2, 3, 4, 5)
tuple_ = 1, 2, 3, 4, 5

- Tuple의 특징

시퀀스 자료형으로

Index를 이용한 인덱싱, 슬라이싱이 가능

my_tuple = ('t','w','i','c','e')
print(my_tuple[1]) # 'w'
print(my_tuple[2:4]) # ('i','c')

in 연산자로 Tuple 안에 원소 확인

len() 함수로 Tuple의 길이 확인

my_tuple = ('t','w','i','c','e')
print('t' in my_tuple) # True
print(len(my_tuple)) # 5

+ 연산자로 Tuple과 Tuple을 연결

* 연산자로 Tuple을 반복

my_tuple = ('i','c','e')
print(('e','l') + my_tuple) # ('e','l','i','c''e')
print(my_tuple * 2) # ('i','c','e','i','c','e')

자료 추가, 삭제, 변경 불가

한번 만들어지면 고정!

my_tuple = ('t','w','i','c','e')
print(my_tuple.append('!')) # Error
print(my_tuple.remove('w')) # Error
my_tuple[1] = 's' # Error



  • Dictionary(딕셔너리)

- Dictionary?

Dictioionary -> 사전

짝궁이 있는 자료형!

- Dictionary(딕셔너리)

{ } - 중괄호로 묶어서 표현

dict_zero = {}
person = {'name':'Michael', 'age':10}

짝궁이 있는 자료형

{key:value}의 형식 : key을 알면 value를 알 수 있음

dict_zero = {}
person = {'name':'Michael', 'age':10} # naem->Michael, age->10

- Key

열쇠처럼 자료를 꺼낼수 있는 도구

dict_zero = {}
person = {'name':'Michael', 'age':10} #key -> naem, age

- Value

Dictionary에서 key로 꺼낸 자료

dict_zero = {}
person = {'name':'Michael', 'age':10} #value -> Michael, 10

- Dictionary[key]

Dictionary에서 자료를 꺼내기

person = {'name':'Michael', 'age':10}
print(person['name'] # Michael
print(person['age'] # 10

Dictionary에서 자료를 추가하기

person = {'name':'Michael', 'age':10}
person['hometown'] = Seoul

del

del 함수로 Dictionary의 원소 삭제

person = {'name':'Michael', 'age':10}
del person['age']
print(person) # {'name':'Michael'}

- Dictionary의 특징

key는 변할 수 없는 자료형

->리스트는 안되고, 튜플은 된다!

datas = {[1,2,3]:'Alphabet'} # Error
datas = {(1,2,3):'Alphabet'} # ok







  • 실습문제1. 미니언즈 사전

    미니언 용어 사전을 참고해서, Key = Minionese, value = 한국어인 Dictionary를 변수 miniWord에 담는다

    Minionese -> 한국어
    Bello -> 안녕
    Poopaye -> 잘가
    Tank_yu -> 고마워
    Tulaliloo_ti_amo -> 우린 너를 사랑해

    1. 변수 cvs에 미니언들이 한 말들이 리스트에 담겨져있다(수정X)
    2. 위 대응관계(Minionese -> 한국어)를 가진 Dictionary - miniWord를 만들어보자
    3. miniWord를 이용해 cvs에 담긴 리스트를 한국어로 한 줄에 하나씩 번역하고 출력
cvs = ["Bello", "Bello", "Tulaliloo_ti_amo", "Tank_yu", "Poopaye", "Poopaye"]

# Minionese와 한국어가 담긴 miniWord 딕셔너리를 만드세요.
miniWord = {}
miniWord["Bello"] = "안녕"
miniWord["Poopaye"] = "잘가"
miniWord["Tank_yu"] = "고마워"
miniWord["Tulaliloo_ti_amo"] = "우린 너를 사랑해"

for i in range(len(cvs)):
    if cvs[i]=="Bello":
        print(miniWord["Bello"])
    elif cvs[i]=="Poopaye":
        print(miniWord["Poopaye"])
    elif cvs[i]=="Tank_yu":
        print(miniWord["Tank_yu"])
    elif cvs[i]=="Tulaliloo_ti_amo":
        print(miniWord["Tulaliloo_ti_amo"])
    
profile
개발자 핏자의 로그들

0개의 댓글