파이썬배열 도움부탁드립니다...
본문
파이썬배열 도움부탁드립니다
num_list = [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, ...]
배열에서 반복문 사용하지않고 짝수만 출력하는 방법이 있습니까
답변 2
안녕하세요? ^^
우선 Python은 자체적인 배열(array)를 갖고 있지 않다는 점을 말씀드리고 싶네요~
https://www.w3schools.com/python/python_arrays.asp
다만 Python에서는 리스트가 배열을 대신할 수 있어요 :)
참고로 배열과 리스트의 차이점은 아래 문서를 참조하세요!
https://gammabeta.tistory.com/2092
Python은 자체적인 슬라이싱 기능이 강력(!)하기 때문에
다른 함수를 사용하지 않고 슬라이싱만으로도 말씀하신 기능을 구현할 수 있어요 ^^
num_list = [101, 102, 103, 104, 105, 106, 107, 108, 109, 110]
num_even_list = num_list[1::2]
print(num_even_list)
슬라이싱은 [인덱스 시작:인덱스 끝:증가폭] 순으로 구성되어 있어요~ ^^
만약 '인덱스 끝'을 지정하지 않으면 마지막 인덱스까지를 의미하고
'증가폭'을 지정하지 않으면 +1을 의미해요~
참고로 '증가폭'을 -1을 주면 .reverse() 메서드와 동일한 효과가 있어요!
그럼 즐거운 불금 되세요 :)
+)
리스트 컴프리헨션을 좁은 의미의 '반복문'이 아니라고 본다면
다음과 같이 작성할 수도 있겠네요 ^^
num_even_list = [x for x in num_list if x % 2 == 0]
또는 num_even_list = [x for x in num_list if not x % 2]
또는 num_even_list = [x for x in num_list if not x & 1]
!-->