카테고리 없음

[4일차] 부트캠프 테크노트

evangeline1245 2024. 7. 9. 17:49

<시퀀스>

리스트 형식으로 시퀀스 타입의 데이터들의 집합을 표현한다.

수정 삭제가 불가한 튜플과 다르게 수정 삭제 기입이 가능한 점이 유용하다.

리스트 값(salary).append = 값 자체를 옆에 나열해주는 함수이고

리스트 값(salary).extend = 리스트안에 값을 추가 기입 하는 부분이 있어서 구분할 수 있다.

두 표현 방식은 리스트를 추가하는 과정에 두드러지는 데

 위 append 추가 값을 리스트를 한다면 [ㅁㅁㅁ,[XXX]]으로 값 자체를 가져와 옆에 나열하는 형태를 뛴다.

하지만 extend로 추가를 한다면 나오는 출력 값은 [ㅁㅁㅁ,XXX]형태로 리스트 값을 리스트내에 추가해줘서 표현해준다.

이 점을 유의하자.

위 내용은 salary 리스트 속 2번째 위치에 해당하는 값을 50으로 수정하는 작업이다.

위 내용은 salary 리스트 속 2번째 위치에 해당하는 값을 삭제하는 작업이다. 

<리스트 예제>

점심 저녁 메뉴를 리스트 형태로 만들고 메뉴라는 값에 연산기호를 사용하여 리스트를 합쳤다.

리스트에 연산기호가 작용하기도 한다.

list를 만들어주는 함수는 list()

문자를 각각 위치값에 할당하여 시퀀스 타입으로 만들어준다.

int변수는 위 형태처럼  만들어지지 않는다.

하지만, int변수는 range()함수를 사용하 리스트 형태로 작업할 수 있다.

리스트 형태에서 행 열 의 요소를 추출하는 예제이다.

1,2.3

4,5,6

7,8,9

이런 매트릭스 형태에서 첫번쨰 행인 1,4,7 과 3번째 열 7,8,9을 추출하기 위한 코드 작성

여기서 중요한점은행작업에 관해 인덱싱 하는 작업으로 1행의 첫 숫자들을 추출하는 것과  , 을 활용하여 옆에 값들을 나열하는 과정이 중요하다.

열 작업은 각리스트는 1개의 위치 값을 차지하기에 2번째임을 명심하자.

 

조건문 예제

해당 예제는 정말 다양한 코드 작성이 나왔다. 

첫번 째 방법부터 설명해보면

먼저 input값을 input_str 변수에 기입을 해준다. 여기서 기입되는 값은 별도의 변경이 없다면 문자열로 기입이 될 것이다.

그런 다음 기입된 변수를 list화 시켜주면 3+2는 input_list 에서 ['3','+','2']로 저장될 것이다.

그럼 이제 인덱스 위치를 찾아 다시 변수에 기입을 해주면 수월하게 if 조건문 작성이 가능해진다.

여기서 input 값을 3 _+_ 2 로 공백값을 넣어준다면 split함수를 이용하여 공백을 기준으로 구별시킬 수 있다.

 

또한 연산기호가 아닌 한글로 '더하기','빼기','나누기','곱하기'로 input값을 기입해보기로 가정해보자

각 초성은 더 뺴 나 곱 으로 변별력이 있기에 양수 다음 인덱스 위치를  조건문에 작성하면 된다.

하지만 초성의 변별력이 없다면 인덱스 맨처음에 양수와 맨끝에 양수의 위치를 주의깊게 확인해야한다.

인덱스 첫위치 는 [0]이고 마지막위치는[-1] 일 테니 그사이에 자리를 이용하면 초성의 차이 없이 구분이 가능해진다.

교수님은 위와 같은 방식으로 중간 기호를 추출했다.

위 방법은 팀원이 작성한 코드 이다.

format함수를 이용하였고 인덱스 위치 설정을 생략하여 코드 문을 간략하게 표현할 수 있는 코드였다.

하지만 기입값을 공백을 포함 시켜야 하고 만약 위처럼 한글로 기입값을 넣는다면 operation[] 괄호 값은 그에 맞게 수정해줘야할 것이다.

 

match문을 이용하여 연산식을 표현한 코드문이다.

인덱스위치를 이용해야한다는점에서 if 문과 동일하며

다만 대입 기호 == 과 같은 종류를 생략할 수 있다는 점이 있다.

 

 

for 조건문이다.

먼저 fruits이란 변수에 빈 리스트를 할당해준다

그다음 for 조건문을 이용하여 x가 0부터 2까지 3번 증가하게 조건을 부여해준다.

그런다음 각 반복될때 x의 값에 논리 조건을 부합시켜 true값이 나오게 한다면 빈 fruits 리스트에 해당 과일들을 삽입하게 해준다.

그러면 결과는 사과 바나나 체리가 리스트형태로 나오게 될것이다.

 

 

while 조건문으로 위와 같은 예제를 같은 결과물이 나게 하는 것이다.

위와 같이 빈 fruits리스트를 만들어주고

리스트 하나를 더 만들어 필요한 과일 데이터를 리스트형태로 넣어준다. 참조 list1

그럼 다음 while문으로 들어가 i 변수를 list1의 길이(3)까지 걸어주고

해당 i가 증가할 때마다 list1의 인덱스를 [i]로 표현하여 빈 fruits 리스트에 넣어줄 수 있도록 append함수를 붙여준다.

그후 i의 변수는 1씩 계속 증가해야 사과 바나나 체리가 대상됨으로  i+=1 조건을 넣어주면

마지막 fruits 조회할 시 위와 같이 for 문의 if 형태처럼 리스트형태의 fruit를 볼수 있게 된다.