I realized that the 2nd element was always k, 3rd element was increased by the factor of 0.5(1/2) each time k increased by 1 (compared to the previous element), 4th element increased by the factor of 0.33..(1/3) each time k increased by 1 (also compared to the previous element).
So after some time I figured out that the number at answer[i] = answer[i - 1] * (k + 1 - i) / i
I would love to know the formal mathematics proof behind this.
Anyways, here is my code:
class Solution(object): def getRow(self, rowIndex): answer =  for i in xrange(1, rowIndex + 1): answer.append(answer[-1] * (rowIndex + 1 - i) / i) return answer