这是我在C中使用的代码。它看起来像是一个简单的变量交换
#define ELEM_SWAP(a,b) { register double t=(a);(a)=(b);(b)=t; }
但我看到过这样的称呼
ELEM_SWAP(array[x], array[y]).
我试图在Python3中使用numpy数组模拟这个宏。与此最接近的等价物是这个函数,但它似乎是C代码交换变量,Python交换列表中的项
def elem_swap(mylist, x, y):
mylist[x], mylist[y] = mylist[y], mylist[x]
return mylist
C
#define
是一个文本处理指令。它只是取代了文本所以,这个代码:
替换为以下内容:
它将交换变量内容。如果您尝试类似
ELEM_SWAP(1, 1)
的操作,它将失败无法用python代码将此宏的全部功能转换为python代码。但是如果我们需要一个类似的列表;那么你的功能就足够好了。除了我会删除
return
部分,除非您确实需要它(请记住,您返回的是相同的列表,而不是它的副本))这将像以下那样使用:
相关问题 更多 >
编程相关推荐