print ([sum(x*y) for x,y in zip(matrix_a,matrix_b)])
TypeError: can't multiply sequence by non-int of type 'list'
곱셈하고있는중인데이런에러뜸도대체뭐때문에뜨는거임
- dc official App
댓글 11
지금 행렬이 배열의 배열로 만들어져 있는데
그것끼리 집 하면 x와 y가 각각 [3, 6]과 [5, 8] 그리고 [4, 5]와 [6, 7] 일케 되는거임. 그리고 그 배열끼리 곱하라고 하니까 저렇게 되는거지
익명(121.135)2023-01-10 13:47
답글
matrix_a=[[3,6],[4,5]]
matrix_b=[[5,8],[6,7]]
print ('x = ',[x for x,y in zip(matrix_a,matrix_b)])
print ('y = ',[y for x,y in zip(matrix_a,matrix_b)])
출력해보니
x = [[3, 6], [4, 5]]
y = [[5, 8], [6, 7]]
이런식으로 출력됨 그러닌깐
sum(x*y) = [(3*6)+(4*5),(5*8)+(6*7)]
이런식으로 되어야하는거아님 ?? - dc App
익명(202.31)2023-01-10 14:00
답글
집 알고리즘이 매개변수로 준 시퀀스들에서 원소을 하나씩 꺼내서 묶는 거임. [철수, 영희]랑 [남자, 여자] 를 집 하면 [(철수, 남자), (영희, 여자)] 가 되는거지. 그걸 x랑 y로 각각 받으면 x에는 철수 y에는 남자, 그 다음엔 x에 영희, y에 여자가 들어오는 식인거지.
근데 니 코드에는 배열의 배열이 들어있으니까 배열끼리 묶이는거고 너는 그 배열들을 곱하려고 하고 있는게 문제임
익명(121.135)2023-01-10 14:04
답글
Zip부분은 이해가는데
배열의 덧셈은 되는거 같은데 그건 왜 되는거고 곱셈은 왜 안되는거야?? Sum(x+y)는 되는뎅.. - dc App
익명(202.31)2023-01-10 14:07
답글
파이썬 배열끼리의 덧셈은 수학 덧셈이 아니고 배열끼리 이어붙이는 concatenation 임. 그런 식으로 생각하면 배열끼리 곱셈은 정의가 안되어 있는거고. 행렬 곱셈 하고 싶으면 numpy 써보든가
익명(121.135)2023-01-10 14:11
답글
사실 넘파이없이 해보고싶은데 그게 잘안되성 ㅠㅠ - dc App
익명(202.31)2023-01-10 14:16
답글
쨋든 알려줘서 고마웡 - dc App
익명(202.31)2023-01-10 14:17
행렬 곱셈을 하려면 로우벡터 배열과 컬럼벡터배열이 서로 가능한 모든 조합끼리 내적해야 하니까 집이 아니라 프로덕트 연산을 해야됨. 근데 바닐라 배열에 그런게 있었던가?
지금 행렬이 배열의 배열로 만들어져 있는데 그것끼리 집 하면 x와 y가 각각 [3, 6]과 [5, 8] 그리고 [4, 5]와 [6, 7] 일케 되는거임. 그리고 그 배열끼리 곱하라고 하니까 저렇게 되는거지
matrix_a=[[3,6],[4,5]] matrix_b=[[5,8],[6,7]] print ('x = ',[x for x,y in zip(matrix_a,matrix_b)]) print ('y = ',[y for x,y in zip(matrix_a,matrix_b)]) 출력해보니 x = [[3, 6], [4, 5]] y = [[5, 8], [6, 7]] 이런식으로 출력됨 그러닌깐 sum(x*y) = [(3*6)+(4*5),(5*8)+(6*7)] 이런식으로 되어야하는거아님 ?? - dc App
집 알고리즘이 매개변수로 준 시퀀스들에서 원소을 하나씩 꺼내서 묶는 거임. [철수, 영희]랑 [남자, 여자] 를 집 하면 [(철수, 남자), (영희, 여자)] 가 되는거지. 그걸 x랑 y로 각각 받으면 x에는 철수 y에는 남자, 그 다음엔 x에 영희, y에 여자가 들어오는 식인거지. 근데 니 코드에는 배열의 배열이 들어있으니까 배열끼리 묶이는거고 너는 그 배열들을 곱하려고 하고 있는게 문제임
Zip부분은 이해가는데 배열의 덧셈은 되는거 같은데 그건 왜 되는거고 곱셈은 왜 안되는거야?? Sum(x+y)는 되는뎅.. - dc App
파이썬 배열끼리의 덧셈은 수학 덧셈이 아니고 배열끼리 이어붙이는 concatenation 임. 그런 식으로 생각하면 배열끼리 곱셈은 정의가 안되어 있는거고. 행렬 곱셈 하고 싶으면 numpy 써보든가
사실 넘파이없이 해보고싶은데 그게 잘안되성 ㅠㅠ - dc App
쨋든 알려줘서 고마웡 - dc App
행렬 곱셈을 하려면 로우벡터 배열과 컬럼벡터배열이 서로 가능한 모든 조합끼리 내적해야 하니까 집이 아니라 프로덕트 연산을 해야됨. 근데 바닐라 배열에 그런게 있었던가?
해주고 싶은데 지금 딱 회사일이 바쁘네;
형 끝나고 와서 해줘도되용 생각나면 와줘용! - dc App
https://ideone.com/c62AaU