3

仮定:

h=[1,2,3]

N[expr]Mathematica には次の操作があります。

N[h[0]]=1, N[h[1]]=2, N[h[2]]=3

たとえばN[h[6]]=0、Pythonでは次のようなものですか?

4

2 に答える 2

1

N[expr]in mathematica は、式の数値を示します。これは、記号演算を行う mathematica では理にかなっています。

Python では、通常、シンボリック式はありません (sympy などの特殊なライブラリを使用しない限り)。

を使用して、オブジェクトを整数に変換できますint。たとえば、int(2)int('2')、またはint(2.6)は値 2 になります。または、 を使用して浮動小数点に変換できますfloat

于 2016-11-19T08:38:47.063 に答える
0

[..]Pythonで演算子を使用して Python で範囲外の値にアクセスすると、 が発生しIndexErrorます。

>>> h = [1, 2, 3]
>>> h[0]
1
>>> h[6]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

をキャッチIndexErrorすることで、カスタム関数を使用して同様の操作を行うことができます。

>>> def N(sequence, index, fallback=0):
...     try:
...         return sequence[index]
...     except IndexError:
...         return fallback
...
>>> h = [1, 2, 3]
>>> N(h, 0)
1
>>> N(h, 1)
2
>>> N(h, 2)
3
>>> N(h, 6)
0
>>>
>>> N(h, 6, 9)  # different fallback value other than 0
9
于 2016-11-19T08:24:58.930 に答える