set (type = set)
set: {}로 들어간 집합개념
특징: 중복 허용X. 중복시, 하나로만 출력만 함!
집합1.intersection(집합2) = 집합1&집합2 -> 교집합
집합1.union(집합2) = 집합1|집합2 -> 합집합
집합1.difference집합2 = -> 차집합
unpacking(한번에 변수지정) 을 변수 동일시 안하고 쓰는 법 : * 사용
ex)
- a, b, *c = (0, 1, 2, 3, 4, 5)
- a -> 0
- b -> 1
- c -> [2, 3, 4, 5]
*a: 좌측 나머지, b 1개 c 1개로 자동 지정.
*b: 가운데 8개
*는 여러 값을 한번에 받을 때 사용
ex) def func(*args) 입력시 여러 변수를 한 번에 입력 可
** <- dict 데이터 구조 받을 때 2개 필요
* <- list 구조의 내용을 하나하나 다 받을 때, 리스트지정 변수 앞에 * 둔다. (unpacking)
============================================================ 중요한 건 list와 dict
dict (type = dict) key value
dict: {} 사용, key value 형식 { "데이터": "data", . . . }
key와 value는 type 제한X. 즉, dict 안에 list, tuple dict 등 삽입도 可
dict 지정 변수[key] <- value값 도출 (단, value값으로 key값 찾기 불가)
dict key value 추가 -> 변수[key] = value
dict key value 여러 개 추가 -> 기존변수.update(해당 리스트) 해당 리스트의 dict를 따로 정의하고 update!
dict 내용 변경 -> 변수[기존key] = 수정된 value
dict 내용 제거 -> del 변수[key]
변수.keys() key값만 출력
변수.values() value값만 출력
변수.items() 둘 다 출력 - 나중에 for문에서 items 필요
변수.clear() 데이터 모두 제거
zip()함수: key, value만 모인 각 데이터를 dict로 합칠 때 사용
zip만 단순히 하면 메모리 주소만 나옴 (zip at ~~~)
-> 변수 = dict(zip(keys,values)) 로 지정해서 만듦. 안의 두 데이터 개수가 다르면 있는 것만 매칭됨. (오류X)
================================================================
예제로 보는 if 개념 *끝에 : 붙이는 것 잊지 말기! elif 여러개 可
Ex) (if와 else는 같은 라인이여야 함)
if x >= 90:
if x>= 95:
print("A++")
else:
print("A--")
elif x >= 80:
print("B")
elif x >= 70:
print("C")
elif x >= 60:
print("D")
else:
print("F")
================================================================
for: 반복을 위해 주로 사용 형식: for 변수 in 열거형 변수(list, tuple, set, dict): *끝에 : 붙이는 것 잊지 말기!
주로 for x in range(len(특정 집군)): 빈번 사용
기본형은 for x in 특정집군:
ex)
for x in [1, 2, 3, 4, 5]:
print(x) -> 하나하나 모든 원소 열거
range와 빈번히 같이 사용 <FYI> range(start, end, step) step 기본은 1, 최소형태는 start=0, range(end)
ex) step = -1 <- 역순으로 range 설정
for x in range(0, 6):
print(x) -> 0에서 5까지 나열.

range안에 len을 넣어서 쓴다.
Ex)
names = ['James', 'Robert', 'Lisa', 'Mary']
scores = [95, 96, 97, 94]
for k in range(len(names)):
print(names[k], scores[k]) -> 이름 , 점수 같이 출력된 것이 하나하나 나옴
for name, score in zip(names, scores):
print(name, score) -> zip으로 해도 같은 결과가 나온다
중첩 for는 리스트 안 리스트 추출할때 씀
list 생성을 위한 for
ex)
numbers = [1,2,3,4,5]
square = []
for i in numbers:
square.append(i**2) <- numbers의 제곱값을 square에 원소로 추가.
print(square) -> [1, 4, 9, 16, 25]
해당 예제는 list 컴프리 핸션으로 똑같이 可
numbers = [1,2,3,4,5]
square = [i**2 for i in numbers]
print(square) -> [1, 4, 9, 16, 25]
=================================================================
while: 무한 반복 *끝에 : 붙이는 것 잊지 말기!
ex) i=0; sum =0
while sum < 10:
i = i + 1
sum = sum + i
print(i, sum)
while은 무한루프 可 -> PC 성능 저하 -> 지양하는 코드 -> break , continue 명령어 사용
ex) k = 0
while True:
k = k+1
print(k) -> 여기까지만 쓰면 무한반복
if k > 3:
break <- 무한반복 제어
print(k)
continue ex)
for k in range(5):
if k == 2:
continue -> 밑에 print를 실행않고 바로 for로 감 -> print: 2를 제외하고 출력
print(k)
종합 예제) k = 0
while True:
k = k + 1
if k == 2:
print("continue next")
continue
if k > 4:
break
print(k) -> 2는 continue next로만 출력되고 1, 3, 4 출력
input() <- 입력하는 창을 만드는 함수 (스트링기반)
숫자 입력시 변수 = int(input()) 를 해야 함
input(" ") <- " " 안의 내용은 input앞에 넣을 텍스트
input은 하나에 한 코드만 가능. 안그러면 커널 꼬임.. -_-
시간에 대한 판별: 슬라이싱 변수[3:5] <- 반드시 형식 00:00 지켜야함
대소문자에 대한 판별: islower() 소문자는 True 대문자는 False, (대문자로 upper(), 소문자로 lower())
사용법 ex) 변수.islower() 변수.upper() 변수.lower() <-> isupper() 함수도 有
다른 ex)
리스트 = ["A", "b", "c", "D"]
for i in range(4):
if 리스트[i].isupper() == True:
print(리스트[i])
변수.split() <- 공백을 기준으로 단어를 쪼개는 것.
ex) num, currency = user.split()
-> print(float(num) * 환율[currency], "원")
변수.split('-') <- '-' 기준으로 쪼갬
변수,split('-')[0] <- 거기서 1번째
ex)
리스트 = ['hello.py', 'ex01.py', 'intro.hwp']
for i in range(3):
name, program = 리스트[i].split('.')
print(name) -> name만 출력
enumerate(변수집군) <- 인덱스와 값을 같이 가져오는 것.
이차원 리스트 : 리스트 안에 리스트가 있는 형태 (3차원은 그 안에 또 있는 것)
print 단순화---------
com을 변수라고 할 때,
print(f"당신은 {com} 사용자입니다.")
print("당신은 "+com+" 사용자입니다.")
같음
'Programming > Python' 카테고리의 다른 글
| [python] 문자열 편집, 절대경로 상대경로, 데이터 읽고 처리 (1) | 2023.08.21 |
|---|---|
| [Python] 모듈, package, random (0) | 2023.08.18 |
| [Python] class 개념 재정리 (pre course) (1) | 2023.08.17 |
| [Python] format(), readline(), with as, function, class (1) | 2023.08.17 |
| [Python] 기본 연산, 변수, 리스트, 튜플, range (0) | 2023.08.14 |