亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
求助,對(duì)一個(gè)數(shù)組讓小于的10的元素放到一個(gè)數(shù)組中,小于20的元素放到另一個(gè)數(shù)組中,
[打印本頁(yè)]
作者:
賽萌
時(shí)間:
2015-09-01 10:04
標(biāo)題:
求助,對(duì)一個(gè)數(shù)組讓小于的10的元素放到一個(gè)數(shù)組中,小于20的元素放到另一個(gè)數(shù)組中,
本帖最后由 賽萌 于 2015-09-01 10:57 編輯
一個(gè)很大的數(shù)組,從0開始的,我排過序之后,需要以10個(gè)為間隔,小于10的放到一個(gè)數(shù)組中,小于20的放到一個(gè)數(shù)組中,小于30的放到一個(gè)數(shù)組中,40,50....直到200;
因?yàn)橐y(tǒng)計(jì)每個(gè)小數(shù)組的個(gè)數(shù),這個(gè)變量該怎么設(shè)呢,想寫成數(shù)組的數(shù)組的形式,如果寫if($_<10){}elsif($_<20){}這樣太麻煩
下面是我寫的,后面還得命名很多數(shù)組,能不能找個(gè)簡(jiǎn)便的方法啊,
my (@arr1,@arr2,@arr3,@arr4,@arr5,@arr6,@arr7,@arr8);
for (@arr){
if($_<10){
push @arr1,$_;
}elsif($_<20){
push @arr2,$_;
}elsif($_<30){
push @arr3,$_;
}elsif($_<40){
push @arr4,$_;
}elsif($_<50){
push @arr5,$_;
}elsif($_<60){
push @arr6,$_;
}elsif($_<70){
push @arr7,$_;
}
}
my ($i1,$i2,$i3,$i4,$i5,$i6,$i7,$i8);
$i1=@arr1;
$i2=@arr2;
$i3=@arr3;
$i4=@arr4;
$i5=@arr5;
$i6=@arr6;
$i7=@arr7;
$i8=@arr8;
作者:
wexinperl
時(shí)間:
2015-09-01 10:12
本帖最后由 wexinperl 于 2015-09-01 10:12 編輯
something like this :
my $h = [];
for my $i ( 0 .. 19 ) {
$h->[$i] = [ grep { $i * 10 < $_ <= ( $i + 1 ) * 10 } @total ];
}
復(fù)制代碼
作者:
jason680
時(shí)間:
2015-09-01 10:18
回復(fù)
1#
賽萌
提示:
int
($val/
10
)
$val= 0~9: 0
$val= 10~19: 1
$val= 20~29: 2
...
$val= 190~199: 19
作者:
104359176
時(shí)間:
2015-09-01 10:25
可以從大到小遍歷:
if ($a > 100) { ... }
if ($a > 90) { .. }
..
復(fù)制代碼
也可以將區(qū)間當(dāng)成一個(gè)鍵:
$key = int( $a / 10)
$hash->{$key} = []
push $hash->{$key}, $a
復(fù)制代碼
作者:
賽萌
時(shí)間:
2015-09-01 10:32
回復(fù)
4#
104359176
不是特別明白,是讓10為區(qū)間分割這些數(shù)組,那$key變成了元素/10,有什么區(qū)別嗎
作者:
MMMIX
時(shí)間:
2015-09-01 10:48
回復(fù)
1#
賽萌
編輯帖子, 把表情禁用掉. 另外, 帖子的標(biāo)題也順便修改下, 把你的問題在其中體現(xiàn)下.
作者:
賽萌
時(shí)間:
2015-09-01 11:01
回復(fù)
6#
MMMIX
用取余數(shù)就行了是吧
作者:
MMMIX
時(shí)間:
2015-09-01 11:04
回復(fù)
1#
賽萌
使用數(shù)組的數(shù)組. 對(duì)于原始數(shù)組的每個(gè)成員, 根據(jù)其值找到其所應(yīng)在的子數(shù)組, 然后 push 即可:
my @arr = (1 .. 200);
my @subarrs;
for (@arr) {
my $idx = int ($_ / 10);
push @{$subarrs[$idx]}, $_;
}
作者:
MMMIX
時(shí)間:
2015-09-01 11:05
回復(fù)
7#
賽萌
取余數(shù)? 你是說取模? 11, 21, 31 (mod 10) 都是 1 啊.
作者:
賽萌
時(shí)間:
2015-09-01 11:37
回復(fù)
9#
MMMIX
恩,好像是不對(duì),但是還得問你一下,求這里面的每個(gè)小數(shù)組的個(gè)數(shù),好像用$i=@i這樣的方式不行啊
作者:
賽萌
時(shí)間:
2015-09-01 11:47
回復(fù)
6#
MMMIX
求出來了,求出來了,謝謝
作者:
104359176
時(shí)間:
2015-09-01 15:27
獲取數(shù)組的個(gè)數(shù),在 Perl 中是這樣的:
$length = scalar @array;
復(fù)制代碼
而 length 是獲取字符串的長(zhǎng)度:
length 'abc' == 3
復(fù)制代碼
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2