我有一个R列表(实际上是列表列表),其中包含我想在SAGE中运行凸优化过程的数据。
代码就像这样
sage_list = [None] * 2
for k in range(2):
x = r('my_r_list[[1]][[1]][[k+1]]')
sage_list[k] = x._sage_()
首先x
分配不一致。如果我执行多次相同的代码,我会获得不同的数据。但更重要的是,sage_list[k]
赋值会出错:
NameError: name 'structure' is not defined
然而,执行以下操作:
sage_list = [None] * 2
x = r('my_r_list[[1]][[1]][[1]]')
y = r('my_r_list[[1]][[1]][[2]]')
sage_list[0] = x._sage_()
sage_list[1] = y._sage_()
任何想法为什么? (当然,实际上我有超过2次迭代)
答案 0 :(得分:0)
此解决方案实际上有效
x = r('my_r_list')[[1]][[1]][[k+1]]
r()
产生和RElement
类型的对象,R索引在其上工作。