将代码从 perl 转换为 python 以进行 table 处理
convert code from perl to python for table handling
我在 perl 中有这段代码,它允许我创建一个 8 比 1 的列表并创建一个编号 table。
通过在“后缀”1 之前添加到列表数据(即 8 到 1)来填充数组。即在数组内部我们将有 numrotation [1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1]
。然后用 1 ..15
和 15.1 15.2 15.3
和 16..32
的值填充数组
我想知道哪些功能可以代替推送功能。我把代码放在 perl 中,我的测试放在 python 中,但没有:
perl 中的代码:
for ( reverse( 1 .. 8 ) ) { push @Numerotation, '1.' . $_ } push
@Numerotation, ( 1 .. 15, 15.1, 15.2, 15.3, 16 .. 31, 34 .. 45 );
python 中的代码(不起作用):
import numpy as np
lst = list(range(1,8+1))
lst.reverse()
print(lst)
numerotation= np.array()
for i in lst :
d=1.+i
numerotation.append(d)
print(numerotation)
由于您使用的是 numpy,因此您不能像使用常规 Python 列表那样直接在数组上追加。相反,您需要使用 class 函数 append()
. Also since np.array()
需要输入 您需要使用 np.empty(0)
来创建一个空数组。
import numpy as np
lst = list(range(1, 8+1))
lst.reverse()
print(lst)
numerotation = np.empty(0)
for i in lst :
d = "1." + str(i)
numerotation = np.append(numerotation, d)
print(numerotation)
在您的 Perl 代码中,您将浮点数创建为字符串,因此在本示例中我将它们保留为字符串形式。要使它们成为数字,您需要使用 float(d)
.
转换它们
这是另一种方法,它使用常规 Python 列表,然后从中创建一个 numpy 数组。
import numpy as np
lst = list(range(1, 8+1))
lst.reverse()
print(lst)
numbers = ["1." + str(i) for i in lst]
numerotation = np.array(numbers)
print(numerotation)
我在 perl 中有这段代码,它允许我创建一个 8 比 1 的列表并创建一个编号 table。
通过在“后缀”1 之前添加到列表数据(即 8 到 1)来填充数组。即在数组内部我们将有 numrotation [1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1]
。然后用 1 ..15
和 15.1 15.2 15.3
和 16..32
我想知道哪些功能可以代替推送功能。我把代码放在 perl 中,我的测试放在 python 中,但没有: perl 中的代码:
for ( reverse( 1 .. 8 ) ) { push @Numerotation, '1.' . $_ } push
@Numerotation, ( 1 .. 15, 15.1, 15.2, 15.3, 16 .. 31, 34 .. 45 );
python 中的代码(不起作用):
import numpy as np
lst = list(range(1,8+1))
lst.reverse()
print(lst)
numerotation= np.array()
for i in lst :
d=1.+i
numerotation.append(d)
print(numerotation)
由于您使用的是 numpy,因此您不能像使用常规 Python 列表那样直接在数组上追加。相反,您需要使用 class 函数 append()
. Also since np.array()
需要输入 您需要使用 np.empty(0)
来创建一个空数组。
import numpy as np
lst = list(range(1, 8+1))
lst.reverse()
print(lst)
numerotation = np.empty(0)
for i in lst :
d = "1." + str(i)
numerotation = np.append(numerotation, d)
print(numerotation)
在您的 Perl 代码中,您将浮点数创建为字符串,因此在本示例中我将它们保留为字符串形式。要使它们成为数字,您需要使用 float(d)
.
这是另一种方法,它使用常规 Python 列表,然后从中创建一个 numpy 数组。
import numpy as np
lst = list(range(1, 8+1))
lst.reverse()
print(lst)
numbers = ["1." + str(i) for i in lst]
numerotation = np.array(numbers)
print(numerotation)