티스토리 뷰

1. 리스트와 for문

li1 = ['apple', 'banana', 'orange', 'melon']

for i in li1:
  print(i, end=' ')
  
# score 리스트에 저장된 점수가 60점 이상인 학생이 몇명인지 확인
score = [90, 30, 50, 60, 80, 70, 100, 40, 20, 10]
count = 0

for i in score:
  if i >= 60:
    count += 1
print(count)

 

2. 딕셔너리와 for문

# 기본값으로 i에 키가 담김, dic1.keys()
dic1 = {'no1':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}

for i in dic1:       
  print(i, end=' ')

# 값 뽑는 메서드
for i in dic1.values():    
  print(i, end=' ')

# 값 뽑는 다른 방법 1
for i in dic1:
  print(dic1[i], end=' ')  

# 값 뽑는 다른 방법 2
for i in dic1:
  print(dic1.get(i), end=' ')  

# items : 키 밸류를 튜플로 반환
for key, value in dic1.items():    
  print(key, value)

 

3. 컴프리헨션

- 리스트, 세트, 딕셔너리 등의 컬렉션을 간단하게 생성하거나 변형하는 방법

- 반복문과 조건문을 사용하게 간결하게 컬렉션을 생성 (간단하고 가독성 좋게 작성 가능)

 

3-1. 리스트 컴프리헨션

# 10번 반복하면서 값을 출력할건데 그 값을 0으로 출력
n = 10
result = [0 for i in range(n)]    
print(result)

# 10번 반복하면서 값을 출력할건데 그 값을 i로 출력
result = [i for i in range(n)]
print(result)

# 리스트에 곱하기 연산
arr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
result = [n*2 for n in arr]
print(result)

# 각 단어의 글자 수를 리스트로 출력
arr = ['apple', 'banana', 'orange', 'melon']
result = [len(str1) for str1 in arr]          
print(result)

# 양수는 리스트에 그대로 저장하고, 음수는 0으로 변환해서 저장
arr = [-1, 0, -4, 24, 5, -10, 2, 20]
result = [n if n>0 else 0 for n in arr]
print(result)

# 1*1,2 -> 2*1,2 -> 3*1,2
arr = []
for i in range(1, 4):
  for j in range(1, 3):   
    arr.append(i * j)
print(arr)

(컴프리헨션)
arr = [i*j for i in range(1, 4) for j in range(1, 3)]   
print(arr)         # 컴프리헨션으로 이중포문을 잘 쓰진 않음

 

3-2. 세트 컴프리헨션

numbers = [1, 2, 3, 4, 5, 2, 3, 4]
unique_numbers = set(numbers)
print(unique_numbers)

(컴프리헨션)
unique_numbers = {x for x in numbers}
print(unique_numbers)

 

3-3. 딕셔너리 컴프리헨션

names = ['apple', 'banana', 'orange']
name_lengths = {name:len(name) for name in names}
print(name_lengths)
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함