ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python- basic 쟈료형타입 4가지
    Python 2021. 2. 9. 02:37
    728x90
    del dic['겨울']
    print(dic)​
    print('< 집합형 자료형 4가지 >')
    print((1), type((1))) # int 집합형 자료형 x
    print()
    print((1,), type((1,))) # tuple
    print([1], type([1])) # list
    print({1}, type({1})) #set
    print({'k':1}, type({'k':1})) #dict json 처리하기에 좋다.

    1. tuple 타입

    list 타입과 유사하다. 순서있음, 번경x, 읽기전용 - 속도 빠름

    list와 유사하지만 2가지의 다른 점이 있다.

    1. t2 = (1,)처럼 1개의 요소만을 가질때는 요소 뒤에 콤마( , )를 반드시 붙여야 한다

    2.  t4 = 1,2,3,처럼 괄호 생략가능하다.

    print('< 튜플의 형태 >')
    t1 = ()
    t2 = (1,)
    t3 = (1, 2, 3)
    t4 = 1, 2, 3
    t5 = ('a', 'b', ('ab', 'cd'))

     

    t = 'a','b','c','d'
    print(t, type(t), len(t), t.count('a'))
    print(t[1], t[2:5])
    

    [출력 결과]

    ('a', 'b', 'c', 'd') <class 'tuple'> 4 1
    b ('c', 'd')

    --------------------------

    [출력결과 설명]

    t >> ('a', 'b', 'c', 'd')  -  데이터 출력

    type(t) >> <class 'tuple'> - 타입 출력

    len(t) >> 4  - 데이터 길이 출력

    t.count('a') >> 1 - typle type을 갖는 변수 t에서 문자 a 의 갯수

     

    t[1] >> b  - index 1에 있는 데이터 출력

    t[2:5] >> ('c', 'd')  - index 2~5까지의 데이터 출력

     

    2. list 타입

    순서있음, 여러종류의 값을 기억할 수 있고, 변경도 가능하다.

    print('<list의 형태>')
    a = []
    b = [1, 2, 3]
    c = ['list', 'is', 'too', 'short']
    d = [1, 2, 'life', 'is']  #len 4개
    e = [1, 2, ['life', 'is']] #len 3개

     

    family = ['엄마', '아빠', '나', 123, 12.345]
    print(family, type(family))
    
    family.append(['삼촌', '고모']) #list안에 list넣기
    family.append('이모')
    family.insert(0, '할머니')
    family += ['아저씨']
    print(family, len(family), family.index('아빠'))
    
    print(family[0], family[1:4])
    
    print(family[6], family[6][1])
    
    family[0] = '할아버지'
    print(family)

     

    family = ['엄마', '아빠', '나', 123, 12.345] 

    print(family, type(family))

    [출력 결과]

    ['엄마', '아빠', '나', 123, 12.345] <class 'list'>

     

    family.append(['삼촌','고모']) # append : 리스트 안에 리스트 넣기

    family.append('이모')

    family.insert(0, '할머니') # insert : index 0에 '할머니' 넣기(삽입)

    family += ['아저씨'] # family = family + 아저씨

    print(family, len(family), family.index('아빠'))

    [출력결과]

    ['할머니', '엄마', '아빠', '나', 123, 12.345, ['삼촌', '고모'], '이모', '아저씨'] 9 2

    [출력결과 설명]

    len(family)는 길이, family.index('아빠')는 아빠가 있는 인덱스 번호 찾기

     

    print(family[0], family[1:4])
    print(family[6], family[6][1]) # family[6][1] : family의 인덱스 6 안에서 인덱스1인것
    family[0] = '할아버지' #index 0을 '할아버지'로 바꾼다.(수정)
    print(family)

    [출력결과]

    할머니 ['엄마', '아빠', '나']
    ['삼촌', '고모'] 고모
    ['할아버지', '엄마', '아빠', '나', 123, 12.345, ['삼촌', '고모'], '이모', '아저씨']

     

    3. set 타입

    집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.

    print('< set 타입 형태 >')
    s1 = set([1, 2, 3])
    s2 = set("Hello")
    s1 
    s2 

    [출력 결과]

    {1, 2, 3}   >> s1의 결과

    {'e', 'H', 'l', 'o'}  >> s2의 결과

    s2를 보면 순서도 섞여있고, 'ㅣ' 하나가 빠졌다. 이 이유는 set의 2가지 특징 때문이다.

    1. 중복을 허용하지 않는다.

    2. 순서가 없다.

     

    a = {1, 2, 3, 1}
    b = {3, 4}
    print(a.union(b), a.intersection(b))
    print(a | b, a - b, a & b) #합집합, 차집합, 교집합

    [출력결과]

    {1, 2, 3, 4} {3}
    {1, 2, 3, 4} {1, 2} {3}

    [출력 결과 설명]

    a.union(b) , aㅣb : 합집합이다. 

    a.intersection(b) , a & b : 교집합이다.

    a - b : 차집합

    b = {3, 4}
    b.update({6, 7})
    b.update([8, 9])
    b.update((10, 11))
    print(b)

     [출력결과]

    {3, 4, 6, 7, 8, 9, 10, 11}

    b = {3, 4, 6, 7, 8, 9, 10, 11}
    b.discard(4)
    print(b)
    b.remove(7)
    print(b)
    b.clear()
    print(b)

    [출력결과]

    {3, 6, 7, 8, 9, 10, 11}
    {3, 6, 8, 9, 10, 11}
    set()

    [출력 결과 설명]

    discard(4) - 전달받은 값(4)을 삭제한다(없으면 무시한다)

    remove(7) - 전달받은 값(7)을 삭제한다(없으면 에러메시지 출력)

    b.clear() - b집합에 있는 모든 값을 삭제한다.

     

    4. dict 타입

    딕셔널리 자료형으로 연관배열(Associative array) 또는 해시(Hash)라고 한다.

    key와 value를 한 쌍으로 갖느 자료형이다.

    key가 baseball이면 value는 야구가 될 것이다.

    print('< dict타입 형태 >')
    dic = {'name':'mujigea', 'phone':'01011112222','birth':'0221'}
    a = {1 : 'hi'}
    b = {'a' : [1, 2, 3]}
    dic = {'파이썬':'뱀', '자바':'커피 ', '스프링':'봄'}
    print(dic, type(dic))
    print(dic['자바']) # 키로 값을 참조
    #print(dic[커피']) # 값으로 키를 참조 x

    [출력결과]

    {'파이썬': '뱀', '자바': '커피 ', '스프링': '봄'} <class 'dict'>
    커피

    dic['겨울'] = '눈' 
    print(dic)

    [출력결과] - 추가하기

    {'파이썬': '뱀', '자바': '커피 ', '스프링': '봄', '겨울': '눈'}

     

    del dic['겨울']
    print(dic)

    [출력결과] - 삭제하기

    {'파이썬': '뱀', '자바': '커피 ', '스프링': '봄'}

    dic.clear()
    print(dic)

    [출력결과] - 모든 값 삭제

    {}

    dic = {'파이썬':'뱀', '자바':'커피 ', '스프링':'봄'}
    print(dic.keys())
    print(dic.values())
    print(dic['자바'])
    print(dic.get('자바'))

    [출력결과]

    dict_keys(['파이썬', '자바', '스프링'])
    dict_values(['뱀', '커피 ', '봄'])
    커피 
    커피 

     

    번외. 형변환 변화 보기

    t = 'a','b','c','d' #tuple
    
    test = list(t) #형변호나 후 값 변경 가능
    print(test, type(test))
    test[1] = 'kbs'
    t = tuple(test) #list
    print(t, type(t)) #tuple
    t1 = (10,)
    t1 = (10, 20)
    a, b = t1
    print(t1)
    print(a, b)
    
    print()
    
    b, a = a, b
    print(b, a)
    t2 = a, b
    print(t2)
    
    print()
    
    li = [1,2,2,3,4,5,5,5,2,2,2]
    print(li);
    im = set(li)
    li = list(im)
    print(li)

    [출력결과]

    ['a', 'b', 'c', 'd'] <class 'list'>
    ('a', 'kbs', 'c', 'd') <class 'tuple'>
    (10, 20)
    10 20
    10 20
    (20, 10)
    [1, 2, 2, 3, 4, 5, 5, 5, 2, 2, 2]
    [1, 2, 3, 4, 5]

     

    ['a', 'b', 'c', 'd'] <class 'list'>
    ('a', 'kbs', 'c', 'd') <class 'tuple'>
    (10, 20)
    10 20

    10 20
    (20, 10)

    [1, 2, 2, 3, 4, 5, 5, 5, 2, 2, 2]
    [1, 2, 3, 4, 5]

     

    [출력결과 설명]

    형변환 되면서 데이터가 변화는걸 확인하기

    'Python' 카테고리의 다른 글

    Python - basic for문에 format 사용  (0) 2021.02.09
    Python - basic For문 활용  (0) 2021.02.09
    Python - basic while문  (0) 2021.02.09
    Python - basic if문 조건 반복문  (0) 2021.02.09
    Python - basic type isinstance  (0) 2021.02.09
Designed by Tistory.