【问题标题】:Converting a list to coordinates将列表转换为坐标
【发布时间】:2014-08-06 17:39:50
【问题描述】:

我的计算机编程知识非常有限,如果我不使用行话,请多多包涵。我正在处理python,基本上有两个函数A和C,我想创建另一个函数B来将A的输出转换为C的合适输入。注意这里所有的字母都是整数。

Output of A: L=[[a,b,c],[d,e,f],...] #finite list
L[0]=[a,b,c]

现在的问题是 C 的输入是(投影)坐标的形式。

Input of C: (x:y:z)

所以我正在尝试使用以下属性在 A 和 C 之间创建名为函数 B 的桥

Input of B:[x,a,b]
Output of B:(x/b:a/b:1)

所以这里的 x/b 和 a/b 是有理数。

我不知道这有多大帮助,但我实际上是在尝试将我所知道的从数据库转换为可用的东西。目前,这就是我所拥有的,它将为我提供 A 的输出。

D = CremonaDatabase()
x = EllipticCurve("389a1"); x
N = x.conductor(); N
y = str(N); y
z = len(y); z
a = x.cremona_label()[z:]; a
P = D.allgens(N)[a]; P

这似乎是一种非常粗暴的做事方式。但它让我到了我想去的地方。

如果有人能告诉我从哪里开始寻找,我将不胜感激。

【问题讨论】:

  • 我在您的问题中没有看到任何 Python。给我们看一些代码。
  • (x/b:a/b:1) 不是 Python 数据结构。请提供一个minimal example 你的代码输入输出数据的实际例子。另外,请查看the style guide
  • 在充分尊重@Tichodroma 的情况下,这是一种称为 Sage 的 Python 附加组件,当然其中一些是公认的 Python。但最初的海报可能会更明确地说明这一点。
  • 致 Haikal - 正如其他人所说,区分您的 Sage 代码和数学术语(如 (1:2:1))会很好。

标签: python list sage


【解决方案1】:

你几乎回答了你自己的问题。 我不确定 X 是什么或它在哪里定义,但我只是假设它已经处理好了

def b(input):
    return [[x/coord[1], coord[0]/coord[1], 1] for coord in input]

【讨论】:

  • 澄清一下,这个答案建议您返回一个列表[x/b,a/b,1],而不是像您的问题所暗示的那样完全类似于 (x/b:a/b:1)。
  • 如果只是将列表中的输入值简单地转换为其他格式,请编写一个转换函数,与此处def convert(in): return (x/in[1], in[0]/in[1], 1) 所写的内容差不多,然后使用 map() 将其应用于A中的所有条目:result = map(convert, A)
猜你喜欢
  • 2016-09-26
  • 2022-01-19
  • 2020-11-24
  • 2012-02-21
  • 2022-11-17
  • 2022-11-17
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多