본문 바로가기
Python/Basic

01. 자료형

by 일상지식적립중 2024. 4. 27.

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

 

1. 자료형 비교

 

자료형 리스트 튜플 딕셔너리 집합
생성 a = [value1. values2,] a = (value1, values2)
요소 하나 일 때 뒤에 ‘,’를 삽입해야 튜플로 인식
a = {key1:value1, key2:value2} a = set(value)
빈 값 생성 a = [] a = () a = {} a = set()
b = set(a)
표기 대괄호 [] 괄호 () 중괄호 {} set()
순서 유무
인덱스 가능
x x
중복 허용 Key 중복 불가 x
변경 가능 X
조작
요수 추가 변수명.append(value)
#변수명.extend (iterable)
- 리스트의 모든 요소를 ​​다른 리스트에 추가
#변수명.insert (index,object) - 정의 된 색인에 항목을 삽입
불가 변수명[‘key’] = value
# 새로운 key
#value[] 리스트도 추가 가능
1개 추가: 변수명.add(value)
여러 개 : 변수명.update([])
#[]리스트로 업데이트
요소 수정 변수명[value] = value2 불가 변수명[‘key’] = value
#이미 존재하는 key
 
요소 제거 1. 변수명.remove (value)
- 목록에서 항목을 제거
2. 변수명.pop (index)
- 주어진 인덱스에서 요소를 제거하고 반환
3. 변수명.clear ()
-목록에서 모든 항목을 제거합니다
불가 1. del 변수명[key]
#keu, value 쌍 삭제
2. 변수명.clear()
-전체 쌍 삭제
변수명.remove(value)
주요 관련 함수 7. 변수명.index (value)
-첫 번째 일치 항목의 인덱스를 반환
8. 변수명.count (value) -인수로 전달 된 항목 수의 개수를 반환합니다.
9. 변수명.sort () -목록의 항목을 오름차순으로 정렬(key-기준 설정)]
10. 변수명.reverse () -목록의 항목 순서를 반대
11. 변수명.copy () - 목록의 얕은 사본을 반환
1. 변수명[index]
-인덱스에 해당하는 value 반환
2. 변수명[:]
-슬라이싱
#파이썬은 0부터 시작
#a[2:] 라고 했을 때 2에 해당하는 값은 빼고 3부터 포함된 리스트 반환
3. 연산
t3 = t1 + t2
-두 튜플을 합쳐 새로운 튜플 생성
r3 = t1*n
-튜플을 n번 반복한 튜플 생성
3. len(변수명)
-튜플 길이 반환
 
#리스트와 동일
1. 변수명.keys()
변수명.values()
각각 keyvalue만 모아서
변수명.keys([key1, key2])
변수명.values([value1, value2])
객체로 반환, list로 변환하려면
list(변수명.keys/values())사용
2.변수명.items()
-key, value 쌍으로 반환
3.변수명.get(key)
-key에 대응되는 value 반환
# 변수명(key)와의 차이, 해당되는 key가 존재하지 않는 경우 getnone을 반환하고, 변수명(key)는 오류를 발생
4. key in 변수명
-해당 딕셔너리에 해당 키가 있는지 확인 true, false로 반환
 
1. 교집합
s1 & s2
s1 intersection(s2)
s2 intersection(s1)
 
2. 합집합
s1 | s2
#중복 값은 하나씩만 남김
 
3. 차집합
s1 s2
s2 s1
s1.difference(s2)
s2.difference(s2)

 

 

2. 불 자료형

, 거짓으로 반환하는 논리자료형

 

설명 True, False
"abc" 값이 있는 문자열 TRUE
[1, 2] 값이 있는 리스트 TRUE
1 숫자 1 TRUE
-1 숫자 -1 TRUE
"" 빈 문자열 FALSE
" " 공백만 있는 문자열 FALSE
[] 빈 리스트 FALSE
0 숫자 0 FALSE
{} 비어있는 딕셔너리 FALSE
() 비어있는 튜플 FALSE

#숫자는 0이 아닌 모든 숫자는 True 이고, 0False

#비어있는 리스트, 튜플, 딕셔너리, 문자열은 모두 False

-활용 예시

 

>>> a = [1, 2, 3, 4]
>>> while a:
... print(a.pop())
...
4
3
2
1
1. a가 참인 경우에 a.pop()을 계속 실행하여 출력하라는 의미
2. a.pop() 함수는 리스트 a의 마지막 요소를 끄집어내는 함수이므로 리스트 안에 요소가 존재하는 한(a가 참인 동안) 마지막 요소를 계속해서 끄집어냄
3. 결국 더 이상 끄집어낼 것이 없으면 a가 빈 리스트([])가 되어 거짓이 됨
4. 따라서 while문에서 조건문이 거짓이 되므로 while문을 빠져나간다.[파이썬 프로그래밍에서 매우 자주 사용하는 기법]

 

 

3. 변수

a = object // a라는 변수에 object란 정보를 담는다.로 개념으로 이해.

리스트에서 복사 개념

a = [1,2,3]
b = a
 
a is b # ab가 가리키는 객체는 동일한가?
True
ba라는 객체를 담은 것으로 aid 값과 같은 id 값을 가진다.
따라서 a의 요소를 바꾸면 b의 요소도 변함
a = [1,2,3]
b = a[:]
 
a is b # ab가 가리키는 객체는 동일한가?
False
ba에 속해 있는 요소로 가져다 만든 리스트로 요소는 같지만, 다른 id 값을 가진다.
따라서 a의 요소를 바꾸어도 b의 요소는 변하지 않음
#copy 모듈/리스트 내장 copy 함수를 사용해도 같은 결과

 

 

 

3. 연습문제

dictionary

(1)

아래의 표에서, 아이스크림 이름을 키값으로, (가격, 재고) 리스트를 딕셔너리의 값으로 저장하기.

딕셔너리의 이름은 inventory로 한다.

이름 가격 재고
메로나 300 20
비비빅 400 3
죠스바 250 100

 

(2)

(1)inventory 딕셔너리에서 메로나의 가격을 실행예시와 같이 화면에 출력하기

 

실행 예시:

300

 

(3)

(1)inventory 딕셔너리에서 비비빅의 재고를 실행 예시와 같이 화면에 출력하기

 

실행 예시:

20

 

(4)

(1)inventory 딕셔너리에 아래 데이터를 추가하라.

이름 가격 재고
월드콘 500 7

 

실행 예시:

>> print(inventory)

{'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100], '월드콘': [500, 7]}

 

(5)

다음의 딕셔너리에서 key 값으로만 구성된 리스트와 value 값으로만 구성된 리스트를 각각 생성하기

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}

 

(6)

다음의 icecream 딕셔너리에서 아이스크림 판매 금액의 총합을 출력하기.

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}

 

실행 예시:

6700

 

(7)

아래의 new_product 딕셔너리를 icecream 딕셔너리에 추가하라.

 

new_product = {'팥빙수':2700, '아맛나':1000}

 

실행 예시:

>> print(icecream)

{'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000, '콜라': 700, '사이다': 700}

 

&&&&&&&&&&&&&&&&&

\(^.^)/\(^.^)/\(^.^)/

고생 많으셨습니다.

&&&&&&&&&&&&&&&&&&

반응형

'Python > Basic' 카테고리의 다른 글

03. dotenv로 환경 변수 관리하기  (0) 2024.04.28
02. 가상 환경  (0) 2024.04.27