要求:把40個元素的陣列,按每行8個,分5行列印出來。如下圖
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
起因:遇到一些處理資料檔案的場景,比如每8行求一次平均值,最大值,或者別的什麼操作,可以先抽象為每8行列印到乙個陣列裡,然後直接對該陣列處理
1#!/usr/bin/perl -w
2use
strict;34
my@data = 1..40;5
6my$window = 8;7
8for
my$loop(0..(@data/$window)-1)9
15print
join("
\t", @tmp), "\n"
;16 }
分析:原理很簡單,找到索引的規律,就是了,只是每次不能快速的想起來,特此記錄一下。關鍵是用line8, line13, 找到索引的正確公式。
0+8*0, 1+8*0, ... 7+8*0
0+8*1, 1+8*1, ... 7+8*1
0+8*4, 1+8*4, ... 7+8*4
推廣:其他語言也可以按這個思路做
1#!/usr/bin/python
23 data = range(40)
45 window = 867
for loop in range(len(data)/window):
8 tmp =
9for index in
range(window):11#
print tmp
12print"\t
".join([str(x) for x in tmp])
不太好的思路:一開始是想到等差數列公式,先求出每行(代表一行陣列)的第乙個值,後面的根據等差數列公式a1+(n-1)*d,依次求出, **有點囉嗦
1#!/usr/bin/perl -w
2use strict;
34 my @data = 1..40;
56 my $window = 8;
7 my $offset = 1;
89 my @tmp =();
10for my $loop(0..(@data/$window - 1))
1118
"@tmp\n";
19 @tmp =();
20 }
js將陣列按固定長度分割
最近遇到這個問題,需要每隔n個將陣列分開進行操作,開始想想覺得很簡單,結果楞是廢了一會兒功夫才實現,感覺最近業務邏輯寫少了,腦子也不太轉得動了,方法一是我當時寫的,後來發現其實很簡單 捂臉 此處做個記錄.方法一 function cutarray array,sublength if count a...
css實現乙個元素高度固定寬度按比例顯示效果
用padding top百分比可以實現寬度固定高度按比例展示,現在的需求是對乙個video 的盒子div高度是固定的,寬度如何按比例展示?解決後效果如圖 紅框標註的即是我在上面高度比例固定的範圍內寬度自適應的效果 css content btn play iframe,object,embed,vi...
zip函式中的幾個迭代器元素數目不相同會怎麼樣
它的功能可以看這個 在這裡需要注意一點,當通過for迴圈遍歷時,遍歷會在某一iter遍歷到頭後停止,也就是當其中乙個iter的元素數量小於另乙個,那麼元素多的iter的剩餘元素不會被遍歷。這個主要是我在看faster rcnn原始碼時看到的,覺得很不錯。其中的 如下 for iter in pred...