解释 1 行 C 代码并将其翻译成 Python [重复]

Posted

技术标签:

【中文标题】解释 1 行 C 代码并将其翻译成 Python [重复]【英文标题】:explain 1 line of C-code and translate it to Python [duplicate] 【发布时间】:2021-08-01 19:53:03 【问题描述】:

有人可以解释一下下面这行 C 代码并将其翻译成 Python 吗?我没有计划……

x[IX(0 ,i)] = b==1 ? –x[IX(1,i)] : x[IX(1,i)]

数组结构并不重要(除了我也对向量化的 Numpy 形式感兴趣)。我有兴趣了解 C 命令。简化我们可以写

D = b==1 ? –A : A

这是什么意思? D最后的结果是什么? –A : A的作用是什么?我们如何用 Python 编写它?我们如何在 Numpy 中编写这个向量化的?谢谢!

【问题讨论】:

【参考方案1】:

另一种形式:

if(b==1)
  D = -A;
else
  D = A;

if(b==1)
  x[IX(0 ,i)] = –x[IX(1,i)];
else
   x[IX(0 ,i)] = x[IX(1,i)];

我觉得这种形式翻译成python并不难

【讨论】:

【参考方案2】:

如果我正确理解您的问题....那么情况就是这样:

这是一个三元运算符方法,它就像 if else 的替代。例如:在此示例中,如果 b 的值等于 1,即条件为真,则 -A 将存储在 D 中,否则它将在 D 中保存 A 值。

【讨论】:

以上是关于解释 1 行 C 代码并将其翻译成 Python [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Swift和OC,是编译型语言解释性语言运行时语言

python3学习笔记

20171202作业1python入门

python基础

Python学习笔记1

python入门