python将数组拆分为相等的长度值

时间:2017-02-07 17:54:29

标签: python arrays list

我是python的新手。我有一个任意长度的长int值列表,我需要将其拆分为相等的大小值。我尝试了很多方法来做到这一点,但它没有以正确的格式打印。

我定义了一个名为

的数组
arr = [10816446963217280179219841728017921984108164469632
928047221121299210511552129921051155292804722112
50562677440755267009927552670099250562677440
23552216364842368604561924236860456192235522163648
179217208962112891264211289126417921720896
30081517568473642615684736426156830081517568
2624284224185650156818565015682624284224
5765318451245216051245216057653184
288020416028163121792281631217922880204160
];

我有一个返回数组值的API。我将使用该输出并执行此操作:

arr = [1081........
.................];
for i in range(0, len(arr), 8):
print " ".join(map(str,arr[i:i + 8]))

10816 4469632 17280 17921984 17280 17921984 10816 4469632
9280 4722112 12992 10511552 12992 10511552 9280 4722112
5056 2677440 7552 6700992 7552 6700992 5056 2677440
23552 2163648 42368 60456192 42368 60456192 23552 2163648
1792 1720896 2112 891264 2112 891264 1792 1720896
3008 1517568 4736 4261568 4736 4261568 3008 1517568
2624 284224 1856 501568 1856 501568 2624 284224
576 53184 512 452160 512 452160 576 53184
2880 204160 2816 3121792 2816 3121792 2880 204160

我需要打印这样的值:

  a      b      c        d        e      f        g       h
10816  4469632 17280  17921984  17280  17921984 10816  4469632
9280   4722112 12992  10511552  12992  10511552 9280   4722112
5056   2677440 7552   700992    7552   6700992  5056   2677440
23552  2163648 42368  60456192  42368  60456192 23552  2163648
1792   1720896 2112   891264    2112   891264   1792   1720896
3008   1517568 4736   4261568   4736   4261568  3008   1517568
2624   284224  1856   501568    1856   501568   2624   284224
576    53184   512    452160    512    452160   576    53184
2880   204160  2816   3121792   2816   3121792  2880   204160

我试过' \ t'喜欢

 for i in range(0, len(arr), 8):
 print "\t".join(map(str,arr[i:i + 8]))

但打印不正确请帮我这样做。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

使用'strict' => false,您可以调整您的值。 Table::where('name', 'LIKE', '%'.$search_str.'%') ->groupBy('name') ->get(); 将保持对齐并填充N个字符,str.format将右对齐,<N将格式化并填充左侧和右侧,直到N个字符。

>N

或更紧凑

^N
for i in range(0, len(arr), 8):
    for item in arr[i:i+8]:
        print('{:<8}'.format(item), end = ' ')
    print()