0

假设我有以下命令(使用 Python 和 Qiskit):

a = reduce(lambda x,y: x.compose(y,c),circli, qcla)

qcla是一个初始化器)

这里,compose是一个内部 qiskit 函数,x 和 y 是列表的元素circli(可迭代)。我想知道我是否可以在此reduce函数中添加另一个可迭代对象?在这里,c它本身(y,c)代表一个坐标,例如[2,3],我希望它也能更新。我可以创建另一个包含所有可能c的列表并将其添加为另一个可迭代对象吗?谢谢!

4

1 回答 1

2

可以减少对的列表(可迭代),也可以在最后创建一个对。对于第一个,您需要该zip函数,对于后一个,您需要修改 lambda 函数以返回一个元组。例如:

a, x_sum = reduce(lambda x,y: (x[0].compose(y[0], y[1]), x[1][0]+y[1][0]), zip(circli, cs), (qcla, 0))

我在这里使用值cs列表的名称c

zip创建对circlics项目,您可以通过对。在这种情况下,我也会得到值的 x 坐标的总和c作为结果。

如果 in 的值是您的示例 ( )cs中的常量,则in 结果将与您的示例中的相同。ccs = [c]*len(circli)a

于 2021-02-20T07:22:38.437 回答