Как вы делаете простой индекс/массив в Python? Например, в традиционном BASIC язык, все, что вы должны сделать что-то вродеБазовая переменная Индексирование
10 Dim V(5)
20 For N = 1 to 5:V(N)=2^N+1/N:? N,V(N):Next
который бы выход:
1 3.0
2 4.5
3 8.33333333333
4 16.25
5 32.2
Если бы я хотел весов гауссовой квадратуре, я мог бы сделать:
UL=5
[x,w] = p_roots(UL)
for N in range(UL):
print N,w[N]
, который работает:
1 0.236926885056
2 0.478628670499
3 0.568888888889
4 0.478628670499
5 0.236926885056
но если я пытаюсь мой BASIC, как это, казалось бы
UL=5
for N in range(1,UL+1):
V[N]=2**N+1.0/N
print N,V[N]
, который отвергает его как
V[N]=2**N+1.0/N
NameError: name 'V' is not defined
и если я пытаюсь имитировать гауссовского пример
UL=5
[V]=2**UL+1.0/UL
for N in range(1,UL+1):
print N,V[N]
Я получаю
[V]=2**UL+1.0/UL
TypeError: 'float' object is not iterable
В терминах массивов/индексирования не V [N] совпадает с w [N] (что работает в его примере)? Вся документация на Python, кажется, перескакивает в более сложные случаи, не предоставляя более элементарных примеров, подобных приведенным выше.
Вы должны проверить [официальный учебник Python] (https://docs.python.org/3.4/tutorial) для того, как сделать массивы ('list's) в Python. – TigerhawkT3
Если вы хотите сделать список в Python, поместите скобки вокруг его содержимого, а не имя переменной ... –
Возможный дубликат [Как объявить массив в Python?] (Http://stackoverflow.com/ вопросы/1514553/как к-заявляют ан-массив-в-питон) –