리스트와 for문
문제1
score 리스트에 저장된 점수가 60점 이상인 학생이 몇명인 지 확인하는 프로그램을 작성해보자.
- score = [90, 30, 50, 60, 80, 70, 100, 40, 20, 10]
score = [90, 30, 50, 60, 80, 70, 100, 40, 20, 10]
count = 0
for i in score:
if i >= 60:
count += 1
print(f'60점 이상인 학생의 수는 {count}명 입니다')
60점 이상인 학생의 수는 5명 입니다.
딕셔너리와 for문
dict1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}
for i in dict1:
print(i, end=' ')
no, userid, name, hp
dict1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}
for i in dict1.keys():
print(i, end=' ')
no, userid, name, hp
dict1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}
for i in dict1.values():
print(i, end=' ')
1 apple 김사과 010-1111-1111
dict1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}
for i in dict1:
print(dict1[i], end=' ') # dic1['no']
1 apple 김사과 010-1111-1111
dict1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}
for i in dict1():
print(dict1.get(i), end=' ') # dict1.get('no')
1 apple 김사과 010-1111-1111
dict1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}
for i in dict1.items():
print(i)
('no',1)
('userid', 'apple')
('name', '김사과')
('hp', '010-1111-1111')
dict1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}
for key, value in dict1.items() :
print(key, value)
no 1
userid apple
name 김사과
hp 010-1111-1111
컴프리헨션
컴프리헨션(Comprehension)은 파이썬에서 리스트, 세트, 딕셔너리 등 컬렉션을 간단하게 생성하거나 변형하는 방법 중 하나이다. 반복문과 조건문을 사용하여 간결하게 컬렉션을 생성하는 기법.
- 리스트 컴프리헨션
n = 10
result = [0 for i in range(n)]
print(result)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
n = 10
result = [i for i in range(n)]
print(result)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
arr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
result = [n*2 for n in arr]
print(result)
[20, 40, 60, 80, 100, 120, 140, 160, 180, 200]
arr = ['apple','banana','orange','melon']
result = [len(str1) for str1 in arr]
print(result)
[5, 6, 6, 5]
result = [n for n in range(10) if n % 2 == 0]
print(result)
[0, 2, 4, 6, 8]
arr = [-1, 0, -4, 24, 5, -10, 2, 20]
# 양수는 리스트에 그대로 저장하고, 음수는 0으로 변환해서 저장
result = [n if n>0 else 0 for n in arr]
print(result)
[0, 0, 0, 24, 5, 0, 2, 20]
arr = []
for i in range(1, 4):
for j in range(1, 3):
arr.append(i * j)
print(arr)
[1, 2, 2, 4, 3, 6]
arr = [i*j for i in range(1,4) for j in range(1,3)]
print(arr)
[1, 2, 2, 4, 3, 6]
- 세트 컴프리헨션
numbers = [1, 2, 3, 4, 5, 2, 3, 4]
unique_numbers = set(numbers)
print(unique_numbers)
{1, 2, 3, 4, 5}
numbers = [1, 2, 3, 4, 5, 2, 3, 4]
unique_numbers = {x for x in numbers}
print(unique_numbers)
{1, 2, 3, 4, 5}
- 딕셔너리 컴프리헨션
names = ['apples', 'banana', 'orange']
name_lengths = {name:len(name) for name in names}
print(name_lengths)
{'apples' : 6, 'banana' : 6, 'orange' : 6}