본문 바로가기

카테고리 없음

python -6

문자열 / 리스트 활용 

 

리스트.applend() 맨뒤에 덧 붙이는

리스트.remove() 지우는

리스트.sort() 정렬

리스트.insert( , ) 어떤자리에 어떤자료를 삽입할때 

 

list.pop(i)

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

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

remove의 특징은(원소) 원소가 들어가지만

pop은 (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.count(2)) #3

2라는 자료가 몇개 있는지 '

 

srt.split(c) 

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

(괄호를 비울시 공백)

srt = 쪼갤 문자열 , C는 기준 문자열

문자열  -> 리스트 

 

 

my_str = "1 2 3 4 5"

print(my_srt.split()) # ['1''2''3''4''5']  공백을 기준으로 나눔

 

element = "Na, Mg , Al , Si"

print(element.split(',')) @ ['na' , 'Mg' ,'Al' ,'Si']

 

 

srt.join(list) 리스트 -> 문자열

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

괄호를 비울시 공백

 

my_list =['a', 'b' , 'c']

print(''.join(my_list)) # abc

friend = ['pat','Mat']

print('&'.join(friend)) # Pat&Mat

 

 

 

my_list = [1, 2, 2, 3, 3, 3]
var1 = my_list.count(3)

my_list.pop()

print(my_list)

my_list.pop()

print(my_list)

my_list.pop(1)
print(my_list)

 

my_str = "beetea"

var1 = my_str.split('e')

my_list = ["Seeing" , "is" , "Believing"]

var2 = " ".join(my_list)
print(var2)

 #Seeing is Believing

 

 

문자열이 많을때 리스트로 나눠줄수 있음.

그리고 인덱스를 출력하면 됨 .

a =lyrics.split(',')

print(a[45])

 

 

튜플

 

 

소괄호로 자료를 묶어주면 된다.

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

대부분 리스트를 사용

그러나 값이 바뀔 위험이 있음.

 

값을 바꿀수 없으면서도 여러자료를 담을 순 없을까 ?

 -> 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_tuplep[1]) #'w'

print(my_tuple[2:4]) #('i','c')

 

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

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

 

my_tuple = ('t' , 'w' , 'i' ,'c' ,'e')

print('t' in my_tuplep) #True

print(len(my_tuple)) #5

 

+연산자로 Tuple과 Tuple을 연결

*연산자로 Tuple을 반복

 

my_tuple = ('i' ,'c' ,'e')

print(('e' ,'i') +my_tuple) # ('e' , 'i' , 'i' , 'c' , 'e')

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

 

tuple의 특징

자료 추가, 삭제, 변경

한번 만들어지면 고정   수정 불가

append , remove 불가

index에 값 수정도 불가

 

my_tuple = (1, 2, 3)
my_list = [1, 2, 3]

my_tuple.append(4) #Error!
my_tuple.pop() #Error!
my_tuple[0] = 4 #Error!

my_list.append(4) #OK
my_list.pop() #OK
my_list[0] = 4 #OK

 

 

딕셔너리

짝꿍이 있는 자료형

중괄호로 묶어서 표현 {}

 

dict_zero = {}

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

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

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

 

: 를 기준으로 키를 알아야 value를 알수 있음

 

다른 리스트나 튜플에서는 인덱싱을 알아야 했다면

딕셔너리에서는 키를 알아야 한다.

 

Dictionary[key]    Dictionary에서 자료를 꺼내기

persopn = {'name' : 'Michael' , 'age':10}

print(person['name']) #Michael

print(person['age'])  #10

 

Dictionary[key]

Dictionary에서 자료를 추가하기

 

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

person['hometown'] = Seoul 

 

키와 밸류 추가 하기 

 

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,) : 'Number'}  # OK   튜플은 키로 설정 가능

 

 

my_dict = {'사과':'apple' , '바나나':'banana' , '당근':'carrot'}
var1 = my_dict["사과"]
del my_dict["당근"]
my_dict['체리'] = 'cherry'

 

딕셔너리 추가 제거 불러오기

 

 

 

my_dict = {}

my_dict[1] = "Integer"
my_dict['a'] = "String"
my_dict[(1,2,3,)] = "Tuple"

print(my_dict)




try: my_dict[[1, 2, 3]] ="List"
    #여기에 [1, 2, 3] → "List"의 대응관계를 만들어봅시다.
    
    
except TypeError:
    print("List는 Dictionary의 Key가 될 수 없습니다.")