[python] break, continue, 리스트

May·2022년 6월 18일
0

python_기초

목록 보기
6/11

제어문 - Break 문

: while문의 조건부분과 상관 없이 반복문에서 나오고 싶으면, break 문을 사용하자

중간에 탈출할 수 있게 비상구를 만들어주는 것

# num이 5일 때 while문을 빠져나오게 되는 코드

num = 0


while num < 10:
	num += 1
    
    if num == 5:
    	break  # break를 통해 num이 5가 되면 print가 실행되지 않고 
        	   # 반복문 빠져나오면서 실행 종료. 
    
    print(num)
    
 # while문을 벗어남

출력

1
2
3
4

제어문 - Continue 문

: 현재 진행되고 있는 수행 부분을 중단하고 앞의 조건부분을 확인하고 싶으면 continue 문을 사용하자!

num = 0


while num < 8:
    num = num + 1

    if num == 4:  # num값이 4가 되면 
        continue  # print(num) 실행하지 않고 
        		  # 바로 while문의 조건으로 넘어감

    print(num)

출력

1
2
3
5
6
7
8

리스트

변수에 값을 여러개 넣고 싶으면 어떻게 해야 할까?
리스트 이용하기!

✔ 리스트 사용법

변수 = [요소1, 요소2, 요소3, ...]
* 대괄호로 묶고, 콤마로 구분한다. 그 안에 값 넣어주기!

예시

numbers = [2, 4, 6, 8, 10, 12]	 		# 정수형 리스트
names = ["사과", "바나나", "딸기", "포도"] # 문자열 리스트

print(numbers)
print(names)

실행

[2, 4, 6, 8, 10, 12]
['사과', '바나나', '딸기', '포도']

*대괄호도 그대로 출력된다는 특징이 있당

✔ 리스트의 요소를 하나씩 끄집어내고 싶을때
인덱싱(indexing)

리스트명 = [요소1, 요소2, 요소3, ...]
	   -----> 리스트 안 요소1이 있는 위치 → 인덱스

요소 1만 출력하고 싶으면 print(리스트명[0]) 이렇게 써주면 됨
왜? 요소 1은 리스트의 인덱스 0번째이기 때문

😌 파이썬에서는 인덱스가 1번, 2번 ... 이게 아니라 0번부터 시작함
그래서, print(리스트명[0]) 을 실행하면 출력결과는 요소1이 됨.

리스트명 = [요소1, 요소2, 요소3, 요소4]
		   0번    1번    2번   3번 
          -4번   -3번   -2번  -1번   → 마이너스 인덱스도 있다!
          
          ∴ 인덱스 사용가능 범위 → -4 ~ 3

활용

numbers = [2, 4, 6, 8, 10, 12]	 		
names = ["사과", "바나나", "딸기", "포도"] 

🤔 numbers 리스트 요소들을 더하고 싶음~!

print(numbers[1] + numbers[4])

이렇게 하면 1번 인덱스의 4와 4번 인덱스인 10을 더한값 출력 가능하다~!

+ 변수에 요소를 넣어서 그 변수를 이용할 수도 있다!

num_1 = number[1]
num_3 = number[3]

print(num_1 + num_3)

리스트 슬라이싱(list slicing)
: 리스트의 일부를 통째로 잘라서 사용하는 방법

numbers = [2, 4, 6, 8, 10, 12]	 		
names = ["사과", "바나나", "딸기", "포도"] 

<예시>

print(numbers[0:4])[0(인덱스 0번부터):4(4번째 요소까지)]

🩸 주의 🩸 인덱스 4번까지의 의미가 아니다!!!!!!!!

print(numbers[2:])[2(인덱스 2번부터): (리스트 끝 요소까지)]
print(numbers[:2])[ (리스트 처음부터):2(2번째 요소까지만]

<출력>

[2, 4, 6, 8]
[6, 8, 10, 12]
[2, 4]

✔ 슬라이싱한 리스트를 다른 변수에 넣어서도 활용가능

new_list = numbers[:3]  # [2, 4, 6] - numbers에서 처음부터 3개 요소 뺌
print(new_list[2])  - 새 리스트의 인덱스 2

<출력>

6

✔ 리스트의 요소 바꾸기

numbers[0] = 7  #numbers 리스트의 0번 인덱스 값을 7로 바꿔라
numbers[0] = numbers[0] + numbers[1]  #numbers 리스트의 0번 인덱스 값을 0번 값과 1번 값을 더한 값으로 바꿔라
		 	 	# 7 + 4 = 11이 0번 인덱스에 지정됨 
print(numbers[0])

<출력>

11

리스트 함수

✔ 리스트 요소의 갯수 확인하는 함수
len()
length 의 len, 파라미터에 리스트명만 넣어주면 됨!

예시

happy = []
print(len(happy))  # happy 리스트의 요소 갯수 확인

결과

0

🤔 왜? happy 리스트에는 요소가 하나도 없잖어~

✔ 리스트 요소 추가하고 싶을 때(1개)
.append() 함수 사용 (= 추가연산)
.extend() 요소 여러개 추가하고 싶을 때
→ 괄호 안에 추가하고 싶은 내용 넣으면 됨

예시

happy = []
happy.append(4)
happy.append(6)

print(happy)

실행

[4, 6]
    ㄴ 가장 오른쪽 끝으로 추가해줌

✔ 리스트 요소 삭제하고 싶을 때
del 함수 사용

예시

happy = [4, 6, 8, 9, 11]
del happy[3]  # happy 리스트의 3번 인덱스 지우기

print(happy)

결과

[4, 6, 8, 11]  # 인덱스 3번(=9) 지워진 값 출력

✔ 원하는 위치의 요소 추가하고 싶을 때
.insert(인덱스번호, 추가요소) (=삽입연산)

예시

happy = [3, 4, 6, 8, 9]
happy.insert(3, 10)
			#3번 인덱스에 10값 넣기
print(happy)

결과

[3, 4, 6, 10, 8, 9]

✔ 리스트 정렬
sorted()
→ 파라미터 안에 리스트 이름 써주기

예시

numbers = [19, 13, 2, 5, 3, 11, 7, 17]
numbers = sorted(numbers)

print(numbers)

출력

[2, 3, 5, 7, 11, 13, 17, 19]  # 오름차순 정렬

+ 반대로 큰 수가 먼저오게 하고 싶으면?
→ sorted(리스트명, reverse=True)

🙃 sorted 함수는 기존의 numbers 리스트는 건들지 않는다! 리턴만 해줌...

numbers = [19, 13, 2, 5, 3, 11, 7, 17]
sorted(numbers)

print(numbers)

결과

[19, 13, 2, 5, 3, 11, 7, 17]
 # sorted 함수를 적용했는데도 그대로 나오지~!
 # 원본을 정렬시키진 않음 ~

.sort() 리턴하지 않고 직접 원본을 정렬시킴
예시

numbers = [19, 13, 2, 5, 3, 11, 7, 17]
numbers.sort()

print(numbers)  🤨주의! ≠ print(numbers.sort())

결과

[2, 3, 5, 7, 11, 13, 17, 19]

+ 반대로 큰 수가 먼저오게 하고 싶으면?
→ .sort(reverse=True)

profile
ฅ˘◡˘ฅ

0개의 댓글