| 
 | 
 
 
发表于 2023-4-16 13:03:58
|
显示全部楼层
 
 
 
您好!这里给您提供一个Python函数,可以实现您所需要的功能: 
 
- def get_numbers(lng, gap):
 
 -     gap_list = []
 
 -     if len(lng) <= gap:
 
 -         gap_list = lng
 
 -     else:
 
 -         # 从第一个数到倒数第二个数,每隔step取一个数,共取gap-2个数
 
 -         step = (len(lng) - 1) // (gap - 1)
 
 -         for i in range(0, len(lng) - 1, step):
 
 -             gap_list.append(lng[i])
 
 -         # 添加最后一个数
 
 -         gap_list.append(lng[-1])
 
 -     return gap_list
 
  
- x = 100
 
 - lng = range(0, x)
 
 - gap = 31
 
 - gap_list = get_numbers(lng, gap)
 
 - print(gap_list)
 
  复制代码 
 
这段代码定义了一个get_numbers函数,它接收两个参数:lng是您要从中取数的数列,gap是您希望取得的数的个数。该函数首先检查lng中的元素个数是否小于等于gap,如果是,则直接返回lng;否则,计算间隔step,并从第一个数开始,每隔step取一个数,直到倒数第二个数。最后,将最后一个数添加到列表中。 
 
在示例代码中,我们设置x为100,lng为从0到99的整数序列,gap为31。调用get_numbers函数后,我们将得到一个包含31个元素的列表,其中第一个和最后一个元素分别是0和99,中间还有29个元素,它们在原序列中的间隔尽量相等。 |   
 
 
 
 |