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]在数学中为您提供表达式的数值。这在做符号数学的数学中是有意义的。

在 Python 中,您通常没有符号表达式(除非使用专门的库,例如 sympy)。

您可以使用 将对象转换为整数int。例如,int(2)int('2'),或int(2.6)导致值 2。或者您可以使用 转换为浮点数float

于 2016-11-19T08:38:47.063 回答
0

在 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

通过 catch 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 回答