关于Python和Perl中的数组的问题?
下面的内容是如何翻译的,它是perl中的一个数组,我想我可以将其作为列表翻译成python。我正在尝试创建一个程序,该程序采用二维形状和基本的DNA折纸信息,提供每个DNA链的节点、成本和范围,并添加缓冲区和清理区。当程序接收到信息时,它将所需的二维DNA形状转换为三维DNA折纸 在Perl中:关于Python和Perl中的数组的问题?,python,perl,arrays,Python,Perl,Arrays,下面的内容是如何翻译的,它是perl中的一个数组,我想我可以将其作为列表翻译成python。我正在尝试创建一个程序,该程序采用二维形状和基本的DNA折纸信息,提供每个DNA链的节点、成本和范围,并添加缓冲区和清理区。当程序接收到信息时,它将所需的二维DNA形状转换为三维DNA折纸 在Perl中: @xCoords = (); @yCoords = (); @zCoords = (); 在Python中,我认为什么是正确的? array(xCoords) = [] array(yCoords)
@xCoords = ();
@yCoords = ();
@zCoords = ();
在Python中,我认为什么是正确的?
array(xCoords) = []
array(yCoords) = []
array(zCoords) = []
您需要此Python:
xCoords = []
yCoords = []
zCoords = []
您不需要用Python中的变量声明类型,因为Python是动态类型化的。Base Array:
多维数组:
声明和填充二维数组的示例
我想你已经在这里收到了这个问题的答案:。学习Python和Perl并重写代码比依靠其他人的语言知识逐行翻译代码要好。您应该看看NumPy,它简化了处理数字数据数组的工作。1。是正确的,但太复杂了。首先,
[]*n
会产生[]
,但开销很大。但至少它避免了执行[[]]*n
的常见错误,这会创建一个具有n倍相同列表的列表<代码>[[]对于xrange中的x(n)]已经足够了。我想我找到了我最初发现的地方,我会用链接更新我的答案。注意:它通过n
2D数组声明一个n
。相当于xrange(n)中x的[]
-两者都创建了一个包含n个空列表的列表。
xCoords = []
yCoords = []
zCoords = []
xCoords = [[]];
yCoords = [[]];
zCoords = [[]];
xCoords = []
yCoords = []
zCoords = []
xCoords.append([])
yCoords.append([])
zCoords.append([])
xCoords = [[]*n for x in xrange(n)]
yCoords = [[]*n for x in xrange(n)]
zCoords = [[]*n for x in xrange(n)]