프로그래밍/Python

Python-5) tuple , list, dictionary : Python, Python 설치, 파이썬 마스터

LeeSeunghyuk 2020. 11. 10. 17:45
반응형

안녕하세요 이승혁입니다.

 

이번 포스팅에서는 자료형인 튜플과 리스트, 그리고 사전형에 대해서 실습을 진행해보도록 하겠습니다.


 

ㆍ list 

 

     리스트는 파이썬에서 가장 많이 활용되는 시퀀스 자료형 중 하나입니다.

     리스트는 [ ] 로 표기하며 [ ] 안의 요소를 콤마(,)로 구분하여 순서있게 나열합니다.

 

 

실습 1. 리스트 생성, 출력 , [1,2,3,4,5] 의 리스트에서 2와 4를 출력해보기

test_list=[1,2,3,4,5]
print(test_list[1])
print(test_list[3])

 

실습 2. 2중 for문 + 리스트 , [ [ 1, 2] , [3, 4] ] 리스트의 요소를 for문을 사용해 모두 출력해보기

test_list=[[1,2],[3,4]]
for i in test_list:
    for j in i:
        print(j)

첫 포문의 i는 test_list의 원소 [1,2] 그리고 [3,4]를 받게 됩니다.

두 번째 포문의 j는  [1,2]의 1과 2를, [3,4]의 3과 4를 차례로 받게됩니다.

 


ㆍtuple

 

     튜플은 리스트와 비슷한 성질을 가지고 있는 자료형이지만 요소의 값을 변경할 없다 특징이 있습니다.

     리스트는 대괄호 [ ] 요소들을 감쌌는데 튜플은 소괄호 () 사용합니다..

     데이터가 변경이 안되므로 튜플로 만든 데이터에 대한 신뢰도가 높아집니다.

test_list=[0,1,2,3,4]
print('변경전 :',test_list[0])
test_list[0]=100
print('변경후 :',test_list[0])

test_tuple=(0,1,2,3,4)
print('변경전 :',test_tuple[0])
test_tuple[0]=100
print('변경후 :',test_tuple[0])

리스트의 할당과 튜플의 할당을 비교합니다.

 - TypeError: 'tuple' object does not support item assignment

   튜플은 할당을 사용할 수 없다는 에러 문구를 확인할 수 있습니다.

 

변경이 되어서는 안되는 회사의 중요한 데이터는 프로그래밍 튜플로 만들어 관리하면 된다.

 

예제 : 신세계 백화점과 이마트에서 사용하는 신세계 포인트 시스템 개발을 프로젝트 관리자(PM)가

        요청한 내용중 포인트 적립하는 적립율 데이터가 절대로 변경이 되지 않게 해달라

 

            " 1000 x 0.01 = 10 적립 "   임의로 변경되면 안된다.


 

ㆍdictionary

 

     사전은 키와 값을 하나의 요소로 하는 순서가 없는 집합이다.

     그러므로 사전은 시퀀스 자료형이 아니며 인덱싱으로 값을 접근할 수도 없다.

     사전의 키와 값은 임의 객체가 있다.

     사전은 ":" 쌍이 하나의 요소이다.

     

실습3. 딕셔너리 사용해서 성 : 이 , 이름 : 승혁 이라는 사전형 데이터를 만들고 출력해보기

dic={}               #딕셔너리 생성
dic['성']='이'
dic['이름']='승혁'
print(dic.keys())      # 딕셔너리의 key 값들을 확인
print(dic.values())  # 딕셔너리의 value 값들을 확인

print(dic['성'],dic['이름'])

dic={'성':'이','이름':'승혁'} 코드를 사용해서 딕셔너리를 생성해도 결과는 같습니다.

 

실습 4. 다음 키와 값으로 딕셔너리 생성하고 출력해보기

word={'i':'나는','am':'이다','boy':'소년','girl':'소녀'}
print(word['i'],word['boy'],word['am'])

print(word.keys())
print(word.values())

 

다음 시간에는 함수와 모듈에 대해 이해하고 numpy 모듈을 사용한 행렬 연산을 실습해 보도록 하겠습니다.

감사합니다.

 

반응형