강의 정리 3-1

김찬울·2021년 7월 16일
0

반복문

for 반복문

for 문은 시퀀스 객체가 주어졌을 때 그 값을 순환하며 조건에 맞는 값을 '한' 바퀴 돈다.

for i in range(10):
    print(i)
    
-------------
0
1
2
3
...

이런 식으로 range(10) 안의 9개 요소만큼 반복한다. 개수가 중요!
hello, world! 를 100번 할 때 복붙을 안하고 for문을 사용하면 2줄에 끝난다.

for i in range(100):
	print('hello world!')

위와 같이 i는 안써도 되고 in 뒤에 오는 시퀀스 객체가 중요하다. 만약 range가 아니라 100만 왔다면 1번 반복하고 끝.

reversed()

값을 역순으로 정렬해준다. 허나 reversed는 range와 같은 객체단위가 아니라서
for i in reversed(range(10): 에서 같이 in 뒤에 쓰거나
그 자체로 사용하려면 다시 리스트나 다른 것으로 묶어야한다.
그래서 일반적인 배열에서는 .reverse()를 쓰는 것이 좋다.

while 반복문

while은 참 거짓을 기준으로 반복을 돌린다
대개 i < 10 과 같이 비교문을 사용한다.
코드내에서 i-=1처럼 값을 조정해주는 경우에 자주 사용!

append extend insert

append()

  • 요소 추가 리스트를 추가할경우 해당 행만 열이 생김.

extend()

  • 리스트 연결 append와는 다르게 같은 1차원 배열로 합쳐짐.

insert()

  • 해당 인덱스에 요소 추가 해당 인덱스에 요소가 있다면 요소의 인덱스(위치)가 뒤로 밀려남.
insert(0, 요소)
insert(len(리스트), 요소) == 리스트.append(요소)

추가적으로 append와 insert에서 리스트를 넣으면 2차원 배열 처럼 요소가 리스트가 된다.

pop(), remove()

pop은 마지막 값(len((arr)-1)을 리스트에서 삭제
하지만 기본 값이 마지막 값인데 인덱스요소를 설정하면 특정요소 삭제 가능
del하고 다른 점은 삭제 값을 출력해줌.

remove는 특정 값 삭제.

a = [10, 20, 30, 20]
a.remove(20)
a
-------
[10, 30, 20]

특정값이 두 개 있는 경우가 있는데 이때 앞에 있는 값을 먼저 삭제.

스택!!!

자료구조의 원리!

프링글스 과자를 생각하면 된다.
먼저 넣은 요소가 가장 마지막에 꺼내져 나오고,
마지막에 넣은 요소가 가장 처음으로 나온다.
append하면 맨 뒤에 추가하고 pop하면 맨 뒤의 값을 가져오는 특징.

큐!!!

넣는 요소가 마지막에 오는 것은 맞지만,
스택과 반대로 첫번째부터(0번인덱스-pop(0)) 끄집어 낸다.

나머지 추가 자료!

profile
코린코린이

0개의 댓글