[4일차] 부트캠프 테크노트
리스트 형식으로 시퀀스 타입의 데이터들의 집합을 표현한다.
수정 삭제가 불가한 튜플과 다르게 수정 삭제 기입이 가능한 점이 유용하다.
리스트 값(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를 볼수 있게 된다.