데이터분석

[23.06.01] Python list, for, tuple, dict, if - 02(2)

gmwoo 2023. 6. 1. 14:39

2023.06.01 - [데이터분석] - [23.06.01] Python list, for, tuple, dict, if - 02(1)  이어서 포스팅

2. if (조건문)

 - 조건식의 결과는 True, False로 정의

 - 형태

if 조건식:

    (들여쓰기) 조건식이 True일 때 

else:

    (들여쓰기) 조건식이 False일 때 

 

예제 1)  if 기본 문법

fruits = ["사과", "참외", "오렌지", "바나나", "사과", "딸기", "사과", "포도", "배"]
# 단어 in 리스트:  해당 리스트에 단어가 존재하면 True, 없으면 False 반환

if "망고" in fruits:
    print("망고 위치: ", fruits.index("망고"))
else:
    print("망고는 없음")
    
if fruits.count("사과") > 0:
    print("사과의 위치: ", fruits.index("사과"))
else:
    print("사과는 없음")

 

3. for

 - 조건식의 결과는 True, False로 정의

 - iterable 객체: list, tuple, range, filter, map ...

 - 형태

   for 변수 in iterable객체:

              문장

 

예제 1) 기본 형태

for i in [1,2,3,4,5,6,7,8,9,10]:
    print(i)
    
# range(시작값, 종료값, 증감치)
print(range(1, 11))

for i in range(1, 11): # 1 ~ 10 까지
    print(i)
    
# 짝수만 10개 (출력 시 줄 바꿈)
for i in range(2, 21, 2): 
    print(i)
# 홀수만 10개 (출력 시 줄 바꿈)
for i in range(1, 20, 2): 
    print(i)
    

# 출력 시 줄 바꾸지 않음
print("줄 바꾸지 않고 출력: ", end = ' ')
print("옆에 나옴")

print("1~10 한 줄로 출력")
for i in range(1, 11):
    print(i, end = ' ')
print() # 이 때 줄 바꿈

 

예제 2) list와 함께 기본 형태

names = ["홍길동", "임꺽정", "장길산"]
work_times = [40, 30, 20]
per_pays = [20000, 15000, 30000]

pays = [] # 빈 리스트, 연산을 통해 데이터 추가
for i in range(0,3): # range(시작, 종료, 증강) -> i를 통해 0 ~ 3 까지 차례대로 리스트 요소 출력
    pays.append(work_times[i] * per_pays[i])

# 출력
for i in range(0,3):
    print(names[i], "의 급여는 ", pays[i], "입니다.")

 

4. tuple (튜플)

 - 사용법은 리스트와 유사함

 - 단 읽기 전용 메모리. 즉, 튜플 내 값 수정이 불가능

 - 아무때나 대충 데이터를 묶어서 데리고 다닐 때

 - 리스트보다 속도가 빠르며, 읽기 인덱싱과 슬라이싱 가능 (단, 데이터 내용 못바꿈)

 - 주로 함수와 관련돼서 사용

예제 1) tuple 정의

fruits = ("사과", "배", "딸기", "포도")
print(fruits)
print(type(fruits[0]))
print(type(fruits[1]))
print(type(fruits[0:3]))
print(type(fruits[::-1]))

# fruits[0] = "망고" # 에러 남. 즉, 값 변경 불가
# fruits.append('망고') # 에러 남. 

name = "홍길동"
age = 12
phone = "010-0000-0000"
kor = 90

# str: 클래스, 파이썬에서 제공하는 데이터 타입
# %s: 문자열, %d: 정수, %f: 실수
s1 = str.format("이름: %s, 나이: %d, 전화번호: %s" 
                % (name, age, phone)) # (name, ~) 튜플 형태로 ㅣ반환
print(s1, type(s1))

s2 = str.format("이름: %s, 국어: %d, 영어: %d, 수학: %d" 
                % ("임꺽정", 90, 70, 80))
print(s2, type(s2))

 

예제 2) tuple을 이용한 두 변수 값 바꾸기

# 두 변수 값을 바꿀 때
a=5
b=3
# temp = a
# a = b
# b = a
# print(f"a = {a}, b = {b}") # 기존 방법
a, b = b, a
print(f"a = {a}, b = {b}") # 튜플을 이용한 값 바꿈
반응형