리스트는 목록, 순서 있음.

튜플은 읽기 전용 목록, 함수의 인자값 전달시에도 사용

딕셔너리는 key-value 의 집합, 순서가 없음.

 

시퀀스 Datatype은 str, list, tuple이 있으며, 순서가 있고, index가 있다.

시퀀스 Datatype인 str, list, tuple은 언패킹이 가능하다.

 

언패킹은 데이터를 풀어서 각각의 변수에 저장할 수 있다. (리스트 언패킹)

  mylist = []
  mylist = ['aaa', 'bbb', 'ccc']
  a, b, c = mylist
  print(a)
  print(b)
  print(c)

출력값

aaa
bbb
ccc

리스트값 조회, 삭제, 추가

mylist = ['aaa','bbb','ccc']
print('first value: ', mylist[0]) # 0번째 index에 해당되는 list값 조회
del mylist[0] # 0번째 index 삭제
print(mylist)
mylist.append('ddd') # list에 항목 추가
print(mylist)

리스트는 시퀀스 데이터 타입이라, 순서가 있고, index가 있어서 조회를 위해서는 index값을 넣으면 조회가 가능하다.

출력값

first value:  aaa    
['bbb', 'ccc']       
['bbb', 'ccc', 'ddd']

 

튜플 언패킹, 조회

mytuple = ('aaa', 'bbb', 'ccc')
# 튜플 언패킹 
a, b, c = mytuple
print(a, b, c)
# 튜플 조회
print(mytuple[0])

출력값

aaa bbb ccc
aaa

튜플은 읽기 전용이라 추가, 수정 및 삭제는 할 수 없다.

 

딕셔너리 추가, 삭제, 조회

    mydic = {'aaa':'xxx', 'bbb':'yyy'}
    mydic['ccc'] = 'zzz'  # 추가
    del mydic['aaa'] # 삭제
    print(mydic['bbb']) # 조회

출력값

yyy

만약 삭제된 mydic['aaa'] 를 조회하면 오류를 발생한다.

그리고 딕셔너리 key에 해당되는 값은 반드시 str 형이어야 한다.

 

 

리스트, 튜플간 변환

  mylist = ['aaa', 'bbb', 'ccc']
  mytuple = ('aaa', 'bbb', 'ccc')
  # 리스트를 튜플로 변환
  tuple(mylist)
  # 튜플을 리스트로 변환
  list(mytuple)

 

딕셔너리로 변환 ( 리스트 of 리스트, 리스트, 튜플 ) 

유사한 값일 경우 딕셔너리로 변환 할 수 있게 해준다. 주의해야 할점은 딕셔너리는 순서가 없기 때문에 리스트나 튜플을 딕셔너리로 변경시 기존 순서가 임으로 변경된다.

  # 딕셔너리로 변환1 (유사한 값일 경우, 리스트 of 리스트)
  lol = [['a', 'b'], ['c', 'd'], ['e', 'f']]  # ==> list of list
  dict(lol) #  ==> {'e':'f', 'a': 'b', 'c':'d'}
  # 딕셔너리로 변환2 (유사한 값일 경우, 리스트)
  mylist = ['ab', 'cd', 'ef']
  dict(mylist) #  ==> {'e':'f', 'a': 'b', 'c':'d'}
  # 딕셔너리로 변환3 (유사한 값일 경우, 튜플)
  tos = ('ab', 'cd', 'ef')
  dict(tos) # ==> {'e':'f', 'a': 'b', 'c':'d'}

 

메시지에서 각 사용된 철자의 갯수를 구하는 방법, 딕셔너리에 저장

  message = '''This document gives coding conventions for the Python code comprising the standard library in the main Python distribution. 
  Please see the companion informational PEP describing style guidelines for the C code in the C implementation of Python'''

  # message에 있는 각각의 문자 갯수 카운트
  mydic = {}
  for x in message:
      if mydic.get(x) == None:
          mydic.setdefault(x, 1) # 기본값 1로 설정
      else:
          mydic[x] = mydic[x] + 1
  print(mydic)

출력값

{'T': 1, 'h': 10, 'i': 22, 's': 11, ' ': 38, 'd': 9, 'o': 19, 'c': 8, 'u': 3, 'm': 7, 'e': 21, 'n': 22, 't': 18, 'g': 5, 'v': 2, 'f': 4, 'r': 9, 'P': 6, 'y': 5, 'p': 3, 'a': 9, 'l': 6, 'b': 3, '.': 1, '\n': 1, 'E': 1, 'C': 2}

 

소스 링크 : https://replit.com/@dhshin38/Tutorial-Python#list_tuple_dic.py

 

Loading...

Replit is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages.

replit.com

 

'Python' 카테고리의 다른 글

Python 파일, 디렉터리  (0) 2022.01.23
Python 정규식  (0) 2022.01.15
Python 날짜, 스케쥴, process  (0) 2022.01.15
Python 숫자, 문자, type  (0) 2022.01.15
Python 특징  (0) 2022.01.15

+ Recent posts