2017-11-05 4 views
0

말의 값 것이다 : 사용자가 원하는 경우 지금목록을 Java에서 "n"개의 하위 목록으로 분할하는 방법은 무엇입니까? 사용자가 입력 내가 아래에 언급 된 목록이 "N"

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 

4 하위 목록 (N = 4), 다음 하위 목록

될 것입니다 사용자가 6 하위 목록을 원하는 경우
[0,1,2,3,4,5] 
[6,7,8,9,10,11] 
[12,13,14,15,16,17] 
[18,19,20] 

마찬가지로, (N = 6), 다음 하위 목록

[0,1,2,3] 
[4,5,6,7] 
[8,9,10,11] 
[12,13,14,15] 
[16,17,18,19] 
[20] 

은 제가 이것을 달성 할 수있는 방법을 알려 주시기 바랍니다 될 것입니다.

+0

목록의 길이를 n으로 나누면됩니다. 다음 정수 (k)로 반올림 한 다음 크기가 k 인 첫 번째 n-1 그룹을 만듭니다. 그런 다음 목록의 나머지 부분과 함께 마지막 하위 목록을 만듭니다. –

답변

0
list1 =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 

n=6 
k = int(len(list1)/float(n))+1 
i=0 
for x in range(n-1): 
     i=(x+1)*k 
     print list1[i-k:i] 
print list1[i:] 

이 python 코드를 사용해보세요. 그것은 당신의 문제에 완벽하게 대답합니다.