AI/python 17

/와 //

d_model / 2와 d_model // 2의 차이는 나누기 연산의 결과 형태에 있습니다:d_model / 2: **부동소수점 나누기(floating-point division)**입니다. 결과는 항상 소수 형태로 반환되며, 정수로 나눌 때도 소수점이 포함됩니다. 예를 들어 d_model이 512라면, d_model / 2는 256.0이라는 **실수(float)**로 반환됩니다.d_model // 2: **정수 나누기(integer division)**입니다. 결과가 항상 정수 형태로 반환되며, 나눗셈의 결과가 소수일 경우 소수점 이하를 버립니다. d_model이 513이라면 d_model // 2는 256으로 반환되며, 이는 정수(int) 형태입니다.

AI/python 2024.10.11

jagged array

길이가 불규칙한 배열을 일정길이로 맞춰주는 코드. 찾아도 안나와서 직접 고안했다. 파이썬을 쓰다보니 for loop를 그냥 쓰는 것은 몬가 불명예스럽다는 느낌이다. 그리고 실제로 더 좋은 방법이 있는 경우가 많은 것 같다. a = [[1],[2,3],[4,5,6]] # (3, 5) 크기로 변경하고 빈 공간을 0으로 채움 pad = [[0]*i for i in range(1,5)] b = [ item + pad[4-len(item)] for item in a] # 결과 출력 print(b) 결과 [[1, 0, 0, 0, 0], [2, 3, 0, 0, 0], [4, 5, 6, 0, 0]]

AI/python 2024.04.17

python slice :와 extended slice ::

:와, :: 모두 슬라이스를 의미하는 것이다. 숫자를 안 넣으면 디폴트값이 사용된다는 의미가 되고, 그에 따라서 굉장히 다양한 변주가 가능하지만 의미는 항상 아래와 같다. 시작, 끝, 그리고 간격:start:end::start:end:step 1. slice a = [1,2,3,4,5]print(a[:])print(a[1:2])print(a[:2])print(a[1:]) [1, 2, 3, 4, 5] [2] [1, 2] [2, 3, 4, 5] 2. extended slicex = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]#처음부터 2칸간격씩 출력print(x[::2])>>[0, 2, 4, 6, 8]#1번째부터 2칸간격씩 출력print(x[1::2])>>[1, 3, 5, 7, 9]#5번째 이후 ..

AI/python 2024.04.01

string.punctuation

import string test = ' 예시주제 : 누가복음 10장 25절 당신은 내 이웃을 내몸같이 사랑하라 하셨습니다. 그 이웃은 누구입니까?' print(test) test2 = "" for char in test: if char not in string.punctuation: test2 += char print(test2) 출력결과 : 예시주제 : 누가복음 10장 25절 당신은 내 이웃을 내몸같이 사랑하라 하셨습니다. 그 이웃은 누구입니까? 예시주제 누가복음 10장 25절 당신은 내 이웃을 내몸같이 사랑하라 하셨습니다 그 이웃은 누구입니까

AI/python 2024.03.23