반응형
n * n 의 2차원 배열을 생성해보아라 라고 했을때 나는 다음과 같이 작성했다.
n = 4
arr = []
for i in range(n):
arr.append([])
파이썬 기초를 배웠다면 누구나 이해할 수 있는 코드가 완성되었다.
다만 여기서 불편한 점으로 반복문의 변수 i 가 있다.
반복문에서 사용하지 않는 변수는 _ 로 표현할 수 있다.
해당 변수는 파이썬에서 사용되지않는 변수를 의미하는 관례적 표현이다.
- 딱히 _ 를 사용해도 메모리를 아낄 수 있는 것은 아니다. 단순히 사용되지 않는 다는 것을 명시적으로 표시하는 것.
n = 4
arr = []
for _ in range(n):
arr.append([])
리스트 컴프리헨션
파이썬에는 리스트 컴프리헨션이라는 리스트 생성 도구가 있다.표현식 for x in range(n)
위와 같이 리스트를 for 문을 사용하여 간단하게 선언할 수 있다.
test = [ i for i in range(4) ]
print('test ' , test)
# test [0, 1, 2, 3]
응용하여 두개의 리스트의 중복값만 가지는 리스트를 만들 수 있다.
# 중복 데이터만 있는 리스트를 반환하기
numbers1 = [1,2,3,4,5,6,7]
numbers2 = [3,4,5,7]
result = [ num1 for num1 in numbers1 if num1 in numbers2 ]
print(result)
# [3, 4, 5, 7]
num1 for num1 in numbers1
-> numbers1 리스트의 원소를 순환하며 해당 원소값이if num1 in numbers2
-> numbers2 리스트에 있는지 검사하고 있으면 반환한다.
'Dev > Python' 카테고리의 다른 글
[Python/파이썬] 딕셔너리 컴프리헨션(dictionary comprehension) (0) | 2024.02.23 |
---|---|
[Udemy강의] day1 , day2 (0) | 2024.01.18 |
날짜 형식 (0) | 2023.12.05 |
python - 함수 선언 시 -> 화살표 (0) | 2023.09.22 |
with 문 (0) | 2023.09.22 |