Rad Blog

Archive

20.05.23_TIL

2020-05-23 TIL xfrnk2

계획했던 일

  • 디지털 논리회로 강의 듣고 과제 하기
  • 파이썬 코딩하기

오늘 한 일

  • 디지털논리회로 - 부울대수의 간소화, 표현, 카르노 도표에 대한 강의를 듣고 공부했다.
  • Python에서, 이차원 배열으로서, 리스트 컴프리헨션과 for문을 사용한 배열 A, * (multiply)연산을 이용한 배열 B의 결과값이 같다는 전제 하에, 공통된 특정 위치의 값을 변경했을때 각각의 배열에서 다른 결과를 나타냈다. 구글링으로 찾아내지 못해서 stackoverflow에 질문을 올렸다. 어떤 분께서 이미 존재하던 stackoverflow 글 링크를 코멘트에 달아주신 덕분에 해답을 찾을 수 있었다.
n,m = 10,10
d = [[0]* m for _ in range(n)]
f = [[ 0 ] * m] * n

>>> d[0][1] = 1
>>> f[0][1] = 1

d = [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
f = [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0]]
  • d에서는 [0][1]의 값만 바뀌었는데, f에서는 왜 모든 1번째 행의 값이 바뀌는 것인지 알 수 있는 이유를 아래의 링크에서 확인이 가능했다. 직접 id()를 이용해 확인 해 본 결과 납득이 되었다.

내일 할 일

  • 디지털 논리회로 강의 듣고 과제 하기
  • 파이썬 코딩하기
comments powered by Disqus