12. 컬렉션 & 반복문
2024. 9. 26. 17:35ㆍ파이썬(python)
1. 리스트 & for 문
1)
li = ['apple', 'banana', 'orange', 'melon']
for i in li:
print(i, end=' ')
-->
apple banana orange melon
2)
score 리스트에 저장된 점수가 60점 이상인 갯수가 몇개인지 확인 하는 프로그램을 작성해보자
score = [90, 30, 50, 60, 80, 70, 100, 40, 20, 10]
print(score)
count = 0
for i in score:
if i >= 60:
count += 1
print(f'60점 이상인 사람은 {count}명입니다.')
-->
[90, 30, 50, 60, 80, 70, 100, 40, 20, 10]
60점 이상인 사람은 5명입니다.
2. 딕셔너리와 for 문
-.items() 메서드는 딕셔너리에서 사용되는 메서드입니다.
-이 메서드는 딕셔너리의 키와 값을 쌍으로 하는 튜플들을 반환합니다.
-일반적으로 이 메서드는 딕셔너리의 키와 값을 동시에 반복(iterate)하고자 할 때 사용됩니다.
1)
dict1 = {'no':1, 'userid' : 'apple', 'name':'김사과', 'hp':'010-111-1111'}
for i in dict1:
print(i, end = ' ') #키만 복사
dict1 = {'no':1, 'userid' : 'apple', 'name':'김사과', 'hp':'010-111-1111'}
print(dict1.keys())
for i in dict1.keys():
print(i, end= ' ')
-->
no userid name hp dict_keys(['no', 'userid', 'name', 'hp'])
no userid name hp
2)
dict1 = {'no':1, 'userid' : 'apple', 'name':'김사과', 'hp':'010-111-1111'}
for i in dict1:
print(dict1[i], end = ' ') #dict1['no'] = 1
-->
1 apple 김사과 010-111-1111
3)
dict1 = {'no':1, 'userid' : 'apple', 'name':'김사과', 'hp':'010-111-1111'}
for i in dict1:
print(dict1.get(i), end = ' ')
-->
apple 김사과 010-111-1111
4)
dict1 = {'no':1, 'userid' : 'apple', 'name':'김사과', 'hp':'010-111-1111'}
for i in dict1.items():
print(i)
-->
('no', 1)
('userid', 'apple')
('name', '김사과')
('hp', '010-111-1111')
5)
dict1 = {'no':1, 'userid' : 'apple', 'name':'김사과', 'hp':'010-111-1111'}
for k,v in dict1.items():
print(k,v)
-->
no 1
userid apple
name 김사과
hp 010-111-1111
6)
dict1 = {'no':1, 'userid' : 'apple', 'name':'김사과', 'hp':'010-111-1111'}
dict1.items() #튜플을 보여줌
print(dict1.items())
-->
dict_items([('no', 1), ('userid', 'apple'), ('name', '김사과'), ('hp', '010-111-1111')])
3. 컴프리헨션 (Comprehension)
* 컴프리헨션은 파이썬에서 리스트, 세트, 딕셔너리 등의 컬렉션을 간단하게 생성하거나 변경하는 방법 중 하나입니다.
* 컴프리헨션은 반복문과 조건문을 사용하여 간절하게 컬렉션을 생성하는 기법으로, 코드를 더 간단하고 가독성 좋게 작성 할 수 있도록 도와줍니다.
3-1. 리스트 컴프리헨선
* 리스트 컴프리헨션은 새로운 리스트를 생성하는데 사용합니다.
* 기존 리스트의 각 요소를 반복하면서 조건을 적용하여 새로운 리스트를 생성 할 수 있습니다.
1)
num = 10
result = [0 for i in range(num)] ##열바퀴를 돌면서 0으로 10번 반환
print(result)
-->
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
2)
num = 10
result = [i for i in range(num)] ##열바퀴를 돌면서 0에서 9까지 반환
print(result)
-->
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3)
li1 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
result = [num for num in li1]
print(result)
-->
[10,20,30,40,50,60,70,80,90,100]
4)
li1 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
result = [num*2 for num in li1]
print(result)
-->
[20, 40, 60, 80, 100, 120, 140, 160, 180, 200]
5)
li2 = ['apple', 'banana', 'orange', 'melon']
result = [len(str1) for str1 in li2]
print(result)
-->
[5, 6, 6, 5]
6)
result = [num for num in range(10) if num % 2 == 0]
print(result)
-->
[0,2,4,6,8]
7)
li3 = [-1, 0, -4, 24, 5, -10, 2, 20]
result = [num if num > 0 else 0 for num in li3]
print(result)
#li3이 num이 0보다 크면 num, 아니면 0
-->
[0, 0, 0, 24, 5, 0, 2, 20]
8)
li4 = []
for i in range(1, 4): #1~3까지
for j in range(1, 3): #1에서 2까지
li4.append(i * j)
print(li4)
-->
1 [1] [2]
2 [2] [4]
3 [3] [6]
[1, 2, 2, 4, 3, 6]
9)
li4 = [i*j for i in range(1,4) for j in range(1,3)]
print(li4)
-->
[1,2,2,4,3,6]
3-2.세트 컴프리헨션
* 세트 컴프리헨션은 새로운 세트를 생성하는데 사용합니다.
* 기존 세트의 각 요소를 반복하면서 조건을 적용하여 새로운 세트를 생성 할 수 있습니다.
1)
num = [1, 2, 3, 4, 5, 2, 3, 4]
unique_num = set(num)
print(unique_num)
-->
{1, 2, 3, 4, 5}
2)
num = [1, 2, 3, 4, 5, 2, 3, 4]
unique_num = {x for x in num}
print(unique_num)
-->
{1, 2, 3, 4, 5}
3-3.딕셔너리 컴프리헨션
딕셔너리 컴프리헨션은 새로운 딕셔너리를 생성하는데 사용됩니다.
기존 딕셔너리의 키와 값을 반복하면서 조건을 적용하여 새로운 딕셔너리를 생성할 수있습니다.
names = ['apple', 'banana', 'orange']
#{'apple': 5, 'banana': 6, 'orange' : 6}
name_lenghts = {name:len(name) for name in names}
print(name_lenghts)
-->
{'apple': 5, 'banana': 6, 'orange': 6}
728x90
LIST
'파이썬(python)' 카테고리의 다른 글
14. 변수의 범위 (2) | 2024.09.27 |
---|---|
13. 사용자 정의 함수 (2) | 2024.09.26 |
11. 제어문-반복문 (3) | 2024.09.26 |
10. 제어문-조건문 (2) | 2024.09.25 |
9. 파이썬 연산자 (6) | 2024.09.25 |