혼공파 : 리스트&반복문

채록·2021년 1월 1일
0

짜투리

목록 보기
6/26

들어가는 말

가장 재밌고? 헷갈리는! 단원!!!!!!!!!!



리스트

자료를 저장할 수 있는 자료

리스트이름 = [요소1, 요소2, element3, ...]

>>> list_a = [a, b, 100, True] #대괄호 안의 것을 요소(element)라고 한다.
>>> list_a[0] #대괄호 안의 숫자를 index라고 한다.
-> a

요소 변경법

새로 명명하기

>>> list_a = ["a", "b", 100, True]
>>> list_a[3] = False
>>> list_a
-> ['a', 'b', 100, False]

요소 파악하기

  1. 음수 인덱스로 선택하기
  2. 리스트 접근 연산자를 이중으로 사용하기
  3. 리스트 안에 리스트 사용하기
list_a = [[1, 2, 3], [4, 5, 6]] #리스트 안에 리스트 사용하기
>>> list_a[-1] #음수 인덱스로 선택하기
-> [4, 5, 6]
>>> list_a[1][1] #리스트 접근 연산자를 이중으로 사용하기
-> [4]

요소 추가하기 : append(), insert() / extend()

append() 함수 사용하기

  • 리스트 뒤에 요소 추가

insert() 함수 사용하기

  • insert(위치, 요소)
  • 지정 위치에 요소 추가하기

한번에 여러 요소 추가하기 : extend()

  • extend([요소1, 요소2, ...])
  • 원래 리스트 뒤에 추가된다.

파괴적 / 비파괴적

  • extend()함수는 파괴적인 변화다 : 새로 추가함으로써 기존의 리스트 값 자체가 변화
  • 리스트간의 + 연산자로 인한 것은 비 파괴적 변화이다. : 출력 모양은 합쳐서 나오지만 기존의 리스트 값들은 변화하지 않은 상태.

요소 제거하기

  1. 인덱스로 제거하기
  2. 값으로 제거하기

인덱스로 제거하기 : del 키워드 , pop() 함수

  1. del 리스트명[인덱스]
  • 여러개를 지울 수 있다 : del list_a [1:3] - 1위치부터 3위치 전까지(2위치 것 까지) 삭제한다.
  1. 리스트명.pop(인덱스)
  • 매개변수를 입력하지 않으면 마지막 요소가 자동으로 지정된다.

값으로 제거하기 : remover()

리스트명.remove(값)

  • removeer()함수로 지정된 값이 리스트 내엥 여러개가 있어도 왼쪽서부터 하여 가장 먼저 발견되는 하나만 제거된다.
  • 중복된 여러개의 값을 모두 제거하려면 반복분과 함께 사용한다.

모두 제거하기 : clear()

리스트명.clear()


리스트 내부에 존재하는지 확인하기 : in / not in

  • 값 in 리스트명
  • 값 not in 리스트명 / not 값 in 리스트명

출력 형태 = True / False (boolean)



반복분 for

for i in range(100) :
    print(출력)

출력 100번 반복하기

반복문과 리스트 함께 사용하기

for 반복자 in 반복할 수 있는 것 :
    코드

반복할 수 있는 것 = 문자열, 리스트, 딕셔너리, 범위 등...

array = [273, 32, 103, 57, 52]
#리스트에 반복문 적용하기
for element in array :
    print("-", element)
->
- 273
- 32
- 103
- 57
- 52

for 반복문은 리스트에 있는 요소 하나하나가 element라는 변수에 들어가며, 차례로 반복하게 된다.

출력 예시


범위 range()

list, dictionay 외에 반복문 for와도 함께 많이 사용된다.

  1. 매개변수에 숫자 하나 입력
    ragne(A) = A-1번째까지

  2. 매개변수에 숫자 두개 입력
    range(A, B) = A부터 B-1번째 까지

  3. 매개변수에 숫자 세개 입력
    range(A, B, C) = A부터 B-1번째 까지이며 앞뒤의 숫자가 C만큼 차이난다.

매개변수로는 반드시 정수를 입력해야 한다.!!

  • 정수 나누기 연산자 사용 가능 // (몫 구하기)

for + list + range

#리스트 선언하기
array = [10, 20, 30, 40, 50]

#리스트에 반복문 적용하기
for i in range(len(array)):
	#출력하기
	print('{}번째 반복: {}'.format(i, array[i])
->
0번째 반복: 10
1번째 반복: 20
...

반복문 반대로 반복하기

range() 사용

for i in range(4, 0 - 1, -1)
# 4번째부터 -1씩 하여 0번째 까지)

reverse() 사용

for i in reverse(range(5)) :
	print('현재 반복 변수: {}'.format(i))
->
현재 반복 변수: 4
현재 반복 변수: 3
...
현재 반복 변수: 0



반복문 while

while 불 표현식 :
	문장

무한 반복 가능!

상태/시간 기반 반복

상태

list_test = [1, 2, 1, 2]
value = 2

#list_test 내부에 value가 있다면 반보
while value in list_test:
	list_test.remove(value)
print(list_test)
->
[1, 1]

시간

(잘 이해 못했음... 일단 시간을 기반으로 조건을 걸때에는 while 반복문을 활용한다고 기억!!)

# 시간과 관련된 기능 가져오기
import time

number = 0

#5초 동안 반복하기
target_tick = time.time() + 5
while time.time() < target_tick:
	number += 1

print('5초 동안 {}번 반복했습니다.'.format(number))
->
5초 동안 14223967번 반복했습니다.

break 키워드 / continue 키워드


break = 일반적으로 만들어진 무한반복 속에서 내부의 반복을 벗어날 때 많이 사용된다.

i = 0
while True:
    print('{}번째 반복문입니다.'.format(i)
    i += 1
    
    #반복을 종료한다.
    input_text = input(">종료하시겠습니까?(y/n): ")
    if input_text in ['y', 'Y']":
    	print('반복을 종료합니다')
        break
->
0번째 반복문입니다.
> 종료하시겠습니까?(y/n): n
1번째 반복문입니다.
> 종료하시겠습니까?(y/n): y
반복을 종료합니다.

continue = 현재 반복을 생략하고 다음 반복으로 넘어갈 때 사용된다.

numbers = [5, 10, 6, 20, 7, 25]

for number in numbers:
	#number가 10보다 작으면 다음 반복으로 넘어가기
    if number <10:
    	continue
    
    print(number)
->
15
20
25


앞으로 할 일

모듈.. python 이론책 끝!!!!
앞으로 Django랑 MySql도 해야하는데 큰일이다! 시간이없네 왜.......

profile
🍎 🍊 🍋 🍏 🍇

0개의 댓글