作者:
daumda (行不行)
2022-01-29 09:31:31大家好
敝人只有用過fortran和matlab
最近要學python遇到一個問題
以往我寫
do i=1,n
x(i)=a+b
end do
現在改寫
for i in range(...):
x[i]=a+b
他顯示錯誤x須先定義
請問我要怎麼改迴圈內的那一行呢?
謝謝指教
作者: robert09080 (Aspettarei) 2022-01-29 09:47:00
舉例來說x是個list,定義x是空串列在迴圈前面,再x.append(a+b),看看是不是你要的
x任意不叫做array,在其他語言叫map在python是dict
作者:
OrzOGC (洞八達人.拖哨天王)
2022-01-29 10:44:00你要的是itertools吧?x=list(range(n)),for i,j in enumerte(x): x[i]=a+b
作者: robert09080 (Aspettarei) 2022-01-29 16:30:00
為什麼要任意的i ? 如果是要建立一個相同初始值的array ,我自己會建議就list comprehension,[a+bfor i in range(n)],如此會產生一個長度是n,值為a+b的一維arraya, b 的值都一樣?
numpy 則是 numpy.full(n, fill_value = a+b)
你就算x[2i+1] 你也是要先建立夠長的list啊你寫fortran都不用先宣告size嗎?
作者: robert09080 (Aspettarei) 2022-01-30 01:20:00
dict 或是pandas