I am converting something I wrote in C++ to Python. Here is a snippet of what I am trying to rewrite in python:
std::vector dates(numberOfPayments.size(), 0);
dates[0] = NDD[0] - '0';
for (int i = 1; i < dates.size(); ++i)
{
dates[i] = (dates[i - 1] + 12 - numberOfPayments[i - 1]) % 12;
}
The problem I am having is that I cannot set the first index of my list in python to something. I try this:
dates = []
dates[0] = NDD_month[0]
for i in range(len(first_payments)):
dates[i] = (dates[i-1] + 12 - first_payments[i-1]) % 12
print(dates)
But I get this error:
IndexError: list assignment index out of range
Anyone know how to fix this?
解决方案
You're having this problem because you're trying to access a index that was not allocated yet.
To append things to a list you should use append (edited to fix loop):
dates = []
dates.append(NDD_month[0])
for i in range(1, len(first_payments)):
dates.append((dates[i-1] + 12 - first_payments[i-1]) % 12)
print(dates)