我有一个问题:
我尝试在python上编写ANT算法,但是我有一个关于C ++的代码,我不知道如何编写这个部分:
typedef struct {
int x;
int y;
} cityType;
typedef struct {
int curCity;
int nextCity;
//MAX_CITIES
unsigned char tabu[15];
int pathIndex;
//MAX_CITIES
unsigned char path[15];
double tourLength;
} antType;
我正在编程,但我不确定
class CityType:
def __init__(self):
self.x = arange(MAX_CITIES)
self.y = arange(MAX_CITIES)
# Class AntType
class AntType:
def __init__(self):
self.curCity = arange(MAX_ANTS)
self.nextCity = arange(MAX_ANTS)
self.tabu = arange(MAX_ANTS)
self.pathIndex = arange(MAX_ANTS)
self.path = arange(MAX_ANTS)
self.tourLength = arange(MAX_ANTS)
由于
答案 0 :(得分:2)
这没有什么不妥。但是,在尝试逐字翻译时,您并没有使用Python提供的全部功能和便利性。
例如,如果CityType只有两个成员x
和y
,则可能只是长度为2的元组更具pythonic。 NamedTuple提供了“按名称”访问元组成员的权限。