이처럼 슬라이싱 이용하면 리스트에서 일부분 가져올수 있음
for i in range(10) 반복문 부터 작성
1. i라는 변수가 0부터 9까지 반복할때마다 i에 값이 담고
i for i in range(10)
2. 그값을 앞에 i에 리스트 원소로 차례대로 담길수 있도록 하겠다.
** 주의 i for i 이 변수명이 다르면 오류가 남 ** 앞에 i는 변수를 지정해준거임 이걸로 받겠다고
ex NameError: name 'l' is not defined
이런식으로 50으로 바꾸면 한번에 초기화 가능함
내부적으로 반복문 조건문 포함 가능함
https://blog.naver.com/love13happy/222349200498
리스트 컴프리헨션 이용하면 단 한줄의 코드로 4줄 코드 대체 가능함
n번 반복할때마다 길이가 M인 리스트 초기화 n*m에 리스트 초기화가 되는 것임
잘못된 예시로 할때
=> 파이썬은 기본적으로 리스트 자료형을 이용해서 어떠한 변수 값을 할당하게 되면
내부적으로 그 리스트는 객체형태로서 자리가 되고 별도의 주석 값을 가지게됨
그렇기 때문에 어떠한 리스트 객체 자체를 n번 곱하게 되면 단순하게 그 내부적 길이가
m인 리스트를 그냥 n번 만큼 그 참조 값을 복사하는 것과 같기 때문에 이제 이 경우에는
내부적으로 포함되어 있는 이 리스트가 모두 동일한 객체 즉 모든 같은 객체 로서
인식된다는 특징이 있음
다시말해 이렇게 2차원 리스트를 초기하게 되면 내부적으로 그 리스트는 모두 같은
리스트로 처리가 되기때문에 내부 리스트 중에서 특정 위치에 하나의 값만 바꾼다고
하더라도 모든 리스트에 동일하게 그 변경사항에 적용되기 때문에 예기치 못한 결과가
발생할수 있음
이렇게 만약에 4곱하기 3 즉 행이 4고 열이 3인 2차원 리스트를 만든다고 치면
바로 이렇게 n번 반복할때마다 길이가 M인 리스트를 매번 초기화해서
이 전체 2차원리스트를 특정한 변수에 대입해 주면 되는 것입니다
n번 반복시 매번 가로 길이가 M인 리스트가 들어가서 할당되는것을 볼 수 있음
이경우에는 특정한 위치에 값만 바꾸면 그위치 값만 바뀜
즉 변수가 필요없을때는 _로 대체 (반복을 위한 변수 필요없을때)
이 집합 자료형은 특정한 원소의 존재유무 만을 체크하고자 할때 매우 효과적으로 사용될 수 있는 자료형중 하나임
i for i in a if i not in remove_set
보면 이 a 라는 리스트를 i변수가 하나씩 확인을 하면서
i for i in a
이 i변수 안에 만약 remove_set 포함 되어 있지 않다면
if i not in remove_set
맨앞 i에 즉 그때의 그 원소만을 남겨놓겠다라는 것임
즉 3, 5 아닌값만 남겨놓고 별도로 리스트를 다시 만들어서
출력해보면 이게 바로 결과라고 할수 있음
Last Updated:
Summarize & share videos seamlessly
Loading...