반응형
for문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
for i in "안녕하세요": # 안녕하세요는 문자열 리스트
print("-", i)
print()
numbers = [267, 104, 3, 44, 56, 890, 99, 400]
for i in numbers:
if i > 100:
print("100이상의 수: ", i)
print()
------------------------
(result)
- 안
- 녕
- 하
- 세
- 요
100이상의 수: 267
100이상의 수: 104
100이상의 수: 890
100이상의 수: 400
|
cs |
이중 for문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
list_d=[[1,2,3], [4,5,6,7], [8,9]]
for i in list_d: # 이중리스트엔 이중for문을 써야한다
for j in i:
print(j)
print()
# for문과 if문
for i in numbers:
if i % 2 == 0:
print(i, "는 짝수")
else:
print(i, "는 홀수")
----------------
(result)
1
2
3
4
5
6
7
8
9
267 는 홀수
104 는 짝수
3 는 홀수
44 는 짝수
56 는 짝수
890 는 짝수
99 는 홀수
400 는 짝수
|
cs |
범위 함수 range()
- range(stop)
- range(10)은 0,1,2,3,4,5,6,7,8,9 를 생성한다
- stop에서 마지막 숫자 10은 포함되지 않음
- range(start, stop)
- range(1,11)은 1,2,3,4,5,6,7,8,9,10 를 생성한다
- range(start, stop, step)
- range(1,11,2)은 1,3,5,7,9 를 생성한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# range()함수 인자 1개
a = range(10)
print(list(a))
print()
# for 숫자 변수 in rage()
array=[273,33,290,98,43]
print(array)
for i in range(len(array)):
print("{}번째 반복:{}".format(i,array[i]))
print()
# range()함수 인자 3개
for i in range(4,-1,-1):
print("현재 반복 변수:{}".format(i))
---------------
(result)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[273, 33, 290, 98, 43]
0번째 반복:273
1번째 반복:33
2번째 반복:290
3번째 반복:98
4번째 반복:43
현재 반복 변수:4
현재 반복 변수:3
현재 반복 변수:2
현재 반복 변수:1
현재 반복 변수:0
|
cs |
딕셔너리(dict)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
dict_b = {
"name": "건조 망고", # key : value
"type": "당절임",
"ingredient": ["망고", "설탕", "색소"], # value에 리스트가 올 수 있다
"origin": "필리핀"
}
print("name: ", dict_b["name"])
print("type: ", dict_b["type"])
print("ingredient: ", dict_b["ingredient"])
print("ingredient: ", dict_b["ingredient"][0]) # 망고출력
print("origin: ", dict_b["origin"])
print()
-------------
(result)
name: 건조 망고
type: 당절임
ingredient: ['망고', '설탕', '색소']
ingredient: 망고
origin: 필리핀
|
cs |
- 딕셔너리 타입은 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합이다.
요소추가
- 딕셔너리명[key] = value
1
2
3
4
5
6
7
8
9
|
dict_b["name"] = "럭셔리 건조 망고" # overwrite
print("name: ", dict_b["name"])
dict_b["price"] = 10000 # 맨뒤에 추가
print(dict_b)
--------
(result)
name: 럭셔리 건조 망고
{'name': '럭셔리 건조 망고', 'type': '당절임', 'ingredient': ['망고', '설탕', '색소'], 'origin': '필리핀', 'price': 10000}
|
cs |
- 요소가 중복되면 overwrite
요소 삭제
- del 딕셔너리명[key]
- 모두 지우기는 clear()
1
2
3
4
5
|
del dict_b["origin"]
print(dict_b)
-----------
(result)
{'name': '럭셔리 건조 망고', 'type': '당절임', 'ingredient': ['망고', '설탕', '색소'], 'price': 10000}
|
cs |
해당 key가 딕셔너리 안에 있는지 조사하기: in 키워드
- 딕셔너리 안에 존재하면 True를 반환하고, 없으면 False를 반환
if "name" in dict_b:
print(dict_b["name"])
else:
print("키가 존재하지 않습니다")
print()
# in 키워드
print("name" in dict_b)
print("type" in dict_b)
print("jen" in dict_b)
-------
(result)
럭셔리 건조 망고
True
True
False
key로 value 얻기: get() 함수
# key에 대한 value를 반환
value = dict_b.get("name")
print("값: ", value)
# 존재 하지 않는 키를 입력하면 None 반환
value = dict_b.get("jjjjjj")
print("값: ", value)
------
(result)
값: 럭셔리 건조 망고
값: None
key, value 쌍 얻기: items() 메서드
- 키와 값을 조합하여 쉽게 반복문 작성 할 수 있음
dict_a={
"키a":"값a",
"키b":"값b",
"키c":"값c"
}
print("딕셔너리의 items()함수")
dict_a.items()
print(dict_a)
print()
print("items()함수와 반복문")
for key, element in dict_a.items():
print("dict_a[{}] = {}".format(key,element))
-----------
(result)
딕셔너리의 items()함수
{'키a': '값a', '키b': '값b', '키c': '값c'}
items()함수와 반복문
dict_a[키a] = 값a
dict_a[키b] = 값b
dict_a[키c] = 값c
for문과 딕셔너리
# for 키 변수 in 딕셔너리
for key in dict_b:
print(key,":",dict_b[key])
print()
# 예제: 리스트 요소가 딕셔너리인 경우이다, 요소를 출력하되 10살처럼, 숫자와 살을 붙여 출력하라
pets = [
{"name": "해피", "age":"10"},
{"name": "나비", "age":"2"},
{"name": "구름", "age":"6"},
{"name": "보미", "age":"1"},
]
print("*우리동네 애완 동물*")
for i in pets:
print(i["name"],"{}{}".format(i["age"],"살"))
---------------
(result)
name : 럭셔리 건조 망고
type : 당절임
ingredient : ['망고', '설탕', '색소']
price : 10000
*우리동네 애완 동물*
해피 10살
나비 2살
구름 6살
보미 1살
# 예제: 아래 딕셔너리를 key:value 형식으로 한줄씩 출력하시오
character = {
"name":"기사",
"level":12,
"items":{
"sword":"불꽃의 검",
"amor":"불꽃 블레이드"
},
"skill":["베기","찌르기","난도질"]
}
for key in character:
if type(character[key]) is dict: # vlaue 타입이 딕셔너리인 경우
for small_key in character[key]:
print(small_key,":",character[key][small_key])
elif type(character[key]) is list: # value 타입이 리스트인 경우
for item in character[key]:
print(key,":",item)
else: # value
print(key,":",character[key])
------------
(result)
name : 기사
level : 12
sword : 불꽃의 검
amor : 불꽃 블레이드
skill : 베기
skill : 찌르기
skill : 난도질
자료형들의 차이점
리스트와 딕셔너리의 차이점
리스트 | 인덱스를 기반으로 값을 저장 | 리스트명 = [] | 리스트명[index] |
딕셔너리 | 키를 기반으로 값을 저장 | 딕셔너리명 = {} | 딕셔너리명[key] |
while 문
# while 반복문(유닉스타임 사용)
import time
num=0
target_tick = time.time()+5
while time.time() < target_tick:
num +=1
print("5초 동안 {}번 반복했습니다".format(num)) # 5초동안 반복문 num번 돌림
# 예제: 1+2+3+4+5+6+.... 을 반복하여 10000을 넘기는 값을 구하시오
limit = 10000
i = 1
sum = 0
while sum < limit:
sum += i
i += 1
print("{}를 더할 때 {}을 넘으며 그때의 값은 {}입니다".format(i, limit, sum))
-------------
(result)
5초 동안 36463689번 반복했습니다
142를 더할 때 10000을 넘으며 그때의 값은 10011입니다
반응형
'Language > Python' 카테고리의 다른 글
Python 강의 정리 6. 함수 (0) | 2021.05.03 |
---|---|
Python 강의 정리 5. 리스트 뒤집기, enumerate() 함수 (0) | 2021.05.02 |
Python 강의 정리 3. 리스트 (0) | 2021.05.02 |
Python 강의 정리 2. continue, pass, break 차이점 (0) | 2021.05.02 |
Python 강의 정리 1. 입출력, 조건문(if문) (0) | 2021.05.02 |