반응형
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
경매하는 개발자
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
전체 방문자
오늘
어제
  • 분류 전체보기 (329)
    • IT (128)
      • 아두이노 (6)
      • C C++ (17)
      • C C++ 컴파일 에러 (3)
      • LINUX (3)
      • Git (1)
      • OpenGL (0)
      • IT 상식 (38)
      • EXCEL & VBA (9)
      • 정보처리기사 (20)
      • 무작정 웹사이트 만들기 (6)
      • 포토샵 (3)
      • 파이썬 & vscode (16)
      • 머신러닝 & 인공지능 & 데이터사이언스 (5)
    • 부동산 (91)
      • 부동산일반 (31)
      • 세금 (6)
      • 경매 (46)
      • 법, 소송 (8)
    • 개인사업자 (43)
      • 할 일 (11)
      • 꿀팁 (9)
      • 세금 (14)
      • 지원사업 (8)
    • 독후감 (25)
      • 독후감 (25)
    • 경제 (4)
      • 거시경제 (4)
    • Tistory (34)
      • 티스토리 (23)
      • 애드센스 (11)
    • 기타 (4)
      • 에세이 (2)
      • 퇴사준비 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 경매
  • 전자세금계산서
  • 부의추월차선요약
  • 온비드공매
  • 부의추월차선독후감
  • 부가가치세
  • 확정일자
  • 공매
  • 일반과세자
  • 부의추월차선
  • 온비드공인인증서
  • 세금계산서
  • 티스토리애드센스
  • 부의추월차선서평
  • 애드센스
  • 부의추월차선줄거리
  • 전입신고
  • 온비드공동인증서
  • 개인사업자
  • 부의추월차선리뷰

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

경매하는 개발자

[파이썬-3] 자료형 타입 확인, 리스트, 튜플, 딕셔너리
IT/파이썬 & vscode

[파이썬-3] 자료형 타입 확인, 리스트, 튜플, 딕셔너리

2022. 3. 2. 21:56
반응형

[파이썬-3] 자료형 타입 확인, 리스트, 튜플, 딕셔너리

반응형

 


1. 자료형 타입 확인

>>> type(123)
<class 'int'>

>>> jb = 123
>>> type(jb)
<class 'int'>​

 

>>> jb = 123
>>> print(type(jb))
<class 'int'>​


>>> type( 123 )

<class 'int'>


>>> type( 123.123 )
<class 'float'>


>>> type( 'abc' )
<class 'str'>


>>> type( [ 1, 2, 3 ] )
<class 'list'>


>>> type( ( 1, 2, 3 ) )
<class 'tuple'>


>>> type( 1+2j )
<class 'complex'>


>>> type( True )
<class 'bool'>

 


2. 리스트(배열), 튜플, 딕셔너리

 

  리스트(배열) 튜플 딕셔너리
선언방법 예시 대괄호 사용
[1,2,3]
소괄호 사용
(1,2,3)
중괄호 사용
{1 : 'a', 2 : 'b', 3 : 'c'}
설명 배열처럼 사용
(추가,삭제,변경,연산 가능)
값 변경 불가능
(추가,삭제,변경,연산 불가능)
1,2,3에 해당하는 값 불러옴

 

 1) 리스트(배열) 예시

1. 빈 리스트 정의

>>> a = []

>>> a

[]

 

>>> a = list()

>>> a

[]


2. 리스트 정의

>>> b = [1,3,5,7]

>>> b

[1, 3, 5, 7]

 

>>> c = ['Hello', 'World']

>>> c

['Hello', 'World']

 

>>> d = [1, 2, 'Hello', 'World']

>>> d

[1, 2, 'Hello', 'World']


3. 리스트 값 활용

>>> a = [1,3,5]

>>> a

[1, 3, 5]

>>> a[0] # a[0]는 문자열에서 사용했던 것처럼 첫 번째 값을 가져옵니다.

1

>>> a[0] + a[2] # a[0]의 값(1)과 a[2]의 값(5)을 가져와서 합을 구합니다.

6

>>> a[-1] # a의 마지막 값을 가져 옵니다.

5


4. 이중 리스트(이중 배열)

>>> a = [1,3,['a','b']]

>>> a[0]

1

>>> a[1]

3

>>> a[2]

['a', 'b']

>>> a[3] # a 3행 값이 없으므로 에러 띄움

Traceback (most recent call last):

File "<pyshell#26>", line 1, in <module>

a[3]

IndexError: list index out of range

>>> a[-1]

['a', 'b']

>>> a[2][0]

'a'

>>> a[2][1]

'b'

>>> a[-1][0]

'a'

>>> a[-1][1]

'b’

반응형

 


5. 리스트 인덱싱

>>> a = [1,3,5]

>>> a[0:2]

[1, 3]

 

>>> a = "135"

>>> a[0:2]

'13'

 

>>> a = [1, 3, 5]

>>> b = [2, 6, 8]

>>> c = a + b

>>> c

[1, 3, 5, 2, 6, 8]


6. 리스트 행 추가 (append, insert)

>>> a = [1, 5, 7]

>>> a.append(2)

>>> a

[1, 5, 7, 2]

 

>>> a = [1,2,3,4,5]

>>> a

[1, 2, 3, 4, 5]

>>> a.insert(2,7)

>>> a

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


7. 리스트 행 삭제 (del, remove)

>>> a = [1, 3, 7]

>>> a[1:2] = []

>>> a

[1, 7]

 

>>> a = [1,3,5,7,9]

>>> a

[1, 3, 5, 7, 9]

>>> del a[3]

>>> a

[1, 3, 5, 9]

 

>>> a

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

>>> a.remove(7)

>>> a

[1, 2, 3, 4, 5]

반응형

 


8. 리스트 행 정렬 (sort)

>>> a = [9, 2, 3, 1, 0]

>>> a

[9, 2, 3, 1, 0]

>>> a.sort()

>>> a

[0, 1, 2, 3, 9]

 

>>> a = ['i','h']

>>> a

['i', 'h']

>>> a.sort()

>>> a

['h', 'i']


9. 리스트 행 리버스 (reverse)

>>> a = [1, 3, 7, 5]

>>> a

[1, 3, 7, 5]

>>> a.reverse()

>>> a

[5, 7, 3, 1]


10. 리스트 행 가리키기 (index)

>>> a

[5, 7, 3, 1]

>>> a.index(1) #1은 몇번행?

3

>>> a.index(7) #7은 몇번행?

1

>>> a.index(2) #2은 몇번행? 값없음

Traceback (most recent call last):

File "<pyshell#6>", line 1, in <module>

a.index(2)

ValueError: 2 is not in list

반응형

 


11. 리스트 행 값 개수 세기 (count)

>>> a = [1, 1, 2, 3, 4, 1]

>>> a

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

>>> a.count(1)

3

 

 

※ 리스트 함수 정리 

함수 설명
append(x) x의 값을 마지막에 추가
sort() 오름차순으로 정렬
reverse 리스트의 값을 역순으로 변경
index(x) x라는 값이 존재하면 위치 반환
insert(x,y) 리스트 x위치에 y값 추가
remove(x) 리스트 x값 삭제
count(x) 리스트 x개수 반환

 

2) 튜플 예시

1. 튜플 빈셀 정의

>>> t1 = ()


2. 단 하나의 값만 갖는 튜플 정의

>>> t2 = (1,)

# 반드시 뒤에 콤마(,) 추가해야함


3. 튜플 정의

>>> t3 = (1, 2, 3)

>>> t4 = 1, 2, 3

# 소괄호 없어도 튜플로 인식함


4. 이중튜플 정의

>>> t5 = ('a', 'b', ('ab', 'cd'))

# 삼중튜플, 사중튜플도 가능


5. 튜플 인덱싱

>>> t1 = (1, 2, 'a', 'b')

>>> t1[0] 1

>>> t1[3] 'b'


6. 튜플 슬라이싱

>>> t1 = (1, 2, 'a', 'b')

>>> t1[1:] (2, 'a', 'b')

반응형

 


7. 튜플 더하기

>>> t1 = (1, 2, 'a', 'b')

>>> t2 = (3, 4)

>>> t1 + t2

(1, 2, 'a', 'b', 3, 4)


8. 튜플 곱하기

>>> t2 = (3, 4)

>>> t2 * 3

(3, 4, 3, 4, 3, 4)


9. 튜플 길이 구하기 (len)

>>> t1 = (1, 2, 'a', 'b')

>>> len(t1)

4

반응형

 


추가) 튜플 행 값을 삭제,변경시도시 아래와 같이 에러 발생!

>>> t1 = (1, 2, 'a', 'b')

>>> del t1[0]

Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object doesn't support item deletion

 

>>> t1 = (1, 2, 'a', 'b')

>>> t1[0] = 'c'

Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment

 

3) 딕셔너리 예시

1. 딕셔너리 정의

>>> dic = {'book':10000, 'pen':1000, 'case':5000}

{'book': 10000, 'pen': 1000, 'case': 5000}

 

key는 (‘book’, ‘pen’, ‘case’)이고, value는 (‘10000’, ‘1000’, ‘5000’) 이다.

key (고유값) value (변화값)
book 10000
pen 1000
case 5000

2. 빈 딕셔너리 정의 및 행 추가 

>>> dic ={}

>>> dic[0] = 'book' # {0:‘book’} 추가

{0: 'book'}

 

>>> dic[1] = 'book1' # {1:‘book1’} 추가

{0: 'book', 1: 'book1'}

 

>>> dic[3] = 'book3' # {3:‘book3’} 추가

{0: 'book', 1: 'book1', 3: 'book3'}

 

>>> dic['book'] = 10000  # {4:‘book’} 추가

{0: 'book', 1: 'book1', 3: 'book3', 'book': 10000}

반응형

 


3. 딕셔너리 행 삭제

>>> dic

{0: 'book', 1: 'book1', 3: 'book3', 'book': 10000}

>>> del dic[0]  # {4:‘book’} 추가

{1: 'book1', 3: 'book3', 'book': 10000}


4. 딕셔너리 빈 Key값 넣기

>>> dic[1] = {}  # 1번 key에 빈 딕셔너리 넣기

{1: {}, 3: 'book3', 'book': 10000}

>>> dic[1] = []  # 1번 key에 빈 리스트(배열) 넣기

{1: [], 3: 'book3', 'book': 10000}

>>> dic[1] = ()  # 1번 key에 빈 튜플 넣기

{1: (), 3: 'book3', 'book': 10000}

>>> dic[1] =''  #1번 key에 공백 넣기

{1: '', 3: 'book3', 'book': 10000}


5. Key값 출력 (keys)

>>> dic

{'book': 10000, 'book1': 20000, 'book3': 30000}

>>> dic.keys()

dict_keys(['book', 'book1', 'book3'])

>>> dic_keys = list(dic.keys())  #리스트(배열)형태로 저장

dict_keys(['book', 'book1', 'book3'])


6. Value값 출력 (values, get)

>>> dic

{'book': 10000, 'book1': 20000, 'book3': 30000}

>>> dic['book']

10000

>>> dic.values()

dict_values([10000, 20000, 30000])

>>> dic_values = list(dic.values()) #리스트(배열)형태로 저장

dict_values([10000, 20000, 30000])

>>> dic.get('book')

10000

>>> dic.get('aaaa')  #Key값에 해당하는 Value가 없을 경우 None 리턴

None

>>> dic.get('aaaa', 'nothing')  #Key값에 해당하는 Value가 없을 경우 지정한 nothing 리턴

nothing


7. Key:Value 쌍으로 출력 (items)

 >>> a.items()

dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

반응형

 


8. Key값 존재 유무 확인 (in)

>>> dic

{'book': 10000, 'book1': 20000, 'book3': 30000}

>>> 'book1' in dic

True

>>> 'book4' in dic

False


9. 리스트, 튜플로 Value 정의

>>> dic2 = {1:['a','b','c']}

>>> dic2

{1: ['a', 'b', 'c']}

>>> dic3 = {1:(1,2,3)}

>>> dic3

{1: (1, 2, 3)}


딕셔너리 만들 때 주의할 사항

 ① 동일한 Key가 2개 존재할 경우 1:'a' 쌍이 무시된다.

      >>> a = {1:'a', 1:'b'}

 

 ② 고유값인 key는 리스트로 정의가 불가하나, 변경불가한 튜플로는 정의가 가능하다.

 

리스트를 key로 사용 튜플을 key로 사용
>>> dic1 = {[1,2] : 'a'}
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
dic1 = {[1,2] : 'a'}
TypeError: unhashable type: 'list'
>>> dic2 = {(1,2), 'a'}
>>> dic2
{(1, 2), 'a'}

따라서 딕셔너리의 Key 값으로 딕셔너리를 사용할 수 없음은 당연하다. 단 Value에는 변하는 값이든 변하지 않는 값이든 상관없이 아무 값이나 넣을 수 있다.

반응형

 

 

요일 리턴하는 예시)

from datetime import datetime
now = datetime.now().date()
 
dateDict = {0: '월', 1: '화', 2: '수', 3: '목', 4: '금', 5: '토', 6: '일'}
print(f"오늘의 날짜 = {now} ({dateDict.get(now.weekday())})") #오늘 날짜 출력
 
출력결과 : 오늘의 날짜 = 2022-03-02 (수)

 

※ 딕셔너리 함수 정리 

함수 설명
keys() 딕셔너리 안에 있는 key값을 모두 표시
values() 딕셔너리 안에 있는 value값을 모두 표시
in 딕셔너리 안에 key가 존재하는지 판단
items() Key, Value 쌍으로 반환
clear() Key, Value 모두 지우기
get() key로 Value값 얻기
반응형

 

반응형

'IT > 파이썬 & vscode' 카테고리의 다른 글

[vscode] 오프라인에서 Extension 설치 방법  (0) 2022.03.15
[vscode] 폴더째로 비교하기 (Diff Tool)  (0) 2022.03.15
[vscode] 한글 깨짐 현상 해결 방법  (1) 2022.03.15
[파이썬-2] 문자열 처리하기  (0) 2022.03.02
[파이썬-1] 개발 전 필수로 설치해야 할 항목들  (0) 2022.03.02

    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

    'IT/파이썬 & vscode' 카테고리의 다른 글
    • [vscode] 폴더째로 비교하기 (Diff Tool)
    • [vscode] 한글 깨짐 현상 해결 방법
    • [파이썬-2] 문자열 처리하기
    • [파이썬-1] 개발 전 필수로 설치해야 할 항목들
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널입니다.

    티스토리툴바