Python初学者在这里!我的目标是实现这种形状的数组或一组字符串:
Session::flash("test","ABC");
return redirect()->route('customer.details');
我创建了以下循环来创建像这样的字符串部分:
layer[1] = level[1].x1
layer[2] = level[1].x2
layer[3] = level[1].T
layer[4] = level[2].x1
layer[5] = level[2].x2
layer[6] = level[2].T
layer[7] = level[3].x1
...
现在我要问自己如何将所有这些部分连接在一起,以便可以打印出所描述的字符串集。我试图创建一个数组,附加值,创建一个numpy数组,将其转置并堆叠三个数组部分,但是由于我得到了错误的数组,因此无法解决问题:
layers = 36
levels = 12
states = 12
for count_layers in range(1,37):
print("layer["+str(count_layers)+"]=level[")
for count_levels in range(1,13):
print(""+str(count_levels)+"].")
print(""+str(count_levels)+"].")
print(""+str(count_levels)+"].")
for states in range(1,13):
print("x1")
print("x2")
print("T")
是否有一种优雅的方法?
答案 0 :(得分:3)
您可以通过广告素材字符串格式和modulo / floordiv操作来做到这一点:
for k in range(0,90):
print("layer[{}] = level[{}].{}".format(k+1, (k//3)+1, ["x1","x2","T"][k%3]) )
floordiv用于级别编号,以模的形式索引到提供["x1","x2","T"]
之一的“后缀列表”中。
输出:
layer[1] = level[1].x1
layer[2] = level[1].x2
layer[3] = level[1].T
layer[4] = level[2].x1
layer[5] = level[2].x2
layer[6] = level[2].T
...snipp...
layer[88] = level[30].x1
layer[89] = level[30].x2
layer[90] = level[30].T
Python 3.6+字符串插值:
print(f"layer[{k+1}] = level[{k//3}].{['x1','x2','T'][k%3]}")