【问题标题】:which dictionary or hashtable's key can be symbol expression?哪个字典或哈希表的键可以是符号表达式?
【发布时间】:2014-09-24 06:38:23
【问题描述】:
  1. 希望将理想列表存储为值 并使用多项式或函数作为字典或哈希表中的键

    dict[x^2+x+1] = x+1

哪个函数可以像 maple 中的表函数一样做到这一点?

显示为这样

 dict[x^2+x+1] = [x+1, x+2, x+3, x+4, x+5]
 dict[x^3] = [x+1, x+2]
  1. sympy 有希尔伯特函数吗?因为我使用希尔伯特函数作为字典中的键

【问题讨论】:

  • 这可能带有一些含义,你能举一个你想要存储的数据的例子吗?
  • 你可以很容易地使用一个函数,但你写的只是一个表达式(甚至不是一个多项式,因为^ 在 Python 中并不意味着取幂)。你能解释一下你想用这个做什么吗?如果您已经将多项式定义为 Python 函数,则可以按原样使用它们。
  • 我用希尔伯特函数作为字典的键,它有希尔伯特函数吗?
  • @BrenBarn 表达式是 SymPy 表达式,它们是未评估的对象。不过,你说得对,指数应该是**

标签: python sympy


【解决方案1】:

SymPy 只是一个 Python 库,因此当您使用它时,您可以随意使用所有 Python。 Python 内置了 dictionary 类型。

>>> a = {x: 1}
>>> a[x**2 + 1] = 2
>>> a
{x: 1, x**2 + 1: 2}

【讨论】:

    【解决方案2】:

    并且值可以是列表:

    >>> {x**2 + x + 1: [x+1, x+2]}
    {x**2 + x + 1: [x + 1, x + 2]}
    >>> d = _
    >>> d[x**2 + x + 1].append(x+3); d
    {x**2 + x + 1: [x + 1, x + 2, x + 3]}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-13
      • 2016-03-31
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多