群友提问:如何在不使用循环的情况下给数值进行分组?

群友提问的问题: 

大家好,想询问一下如何在不使用循环的情况下给数值进行分组。
例如,乱序的1~100分五组
要求结果是1~20,21~40,41~60,61~80,81~100
谢谢大家

简单代码如下: 

# -*- coding: utf-8 -*-
"""
Created on Mon Sep 17 13:39:11 2018

@author: admin
"""

import random
import numpy as np

# creat random nums
nums = list(range(1,101))
new_nums = []
for i in range(len(nums)):
    tmp = np.random.choice(nums)
    new_nums.append(tmp)
    nums.remove(tmp)

#  group by 
new_nums.sort()
split_len = int(round(len(new_nums)/5, 0))
r1 = new_nums[:split_len*1]
r2 = new_nums[split_len*1:split_len*2]
r3 = new_nums[split_len*2:split_len*3]
r4 = new_nums[split_len*3:split_len*4]
r5 = new_nums[split_len*4:]