Coding 【每日一题】数组之四-Python

Jack · 2021年08月19日 · 最后由 JackLian 回复于 2021年09月03日 · 61 次阅读
本帖已被设为精华帖!
  1. 问题描述: 将一个数组 n 等分。
  2. 问题示例: 输入: [1, 2, 3, 4, 5] 输出: 三等分:[[1, 2], [3, 4], [5]] 二等分: [[1, 2, 3], [4, 5]]
Jack 将本帖设为了精华贴 08月19日 21:37

参考代码:

from math import ceil
def divide_iter(lst, n):
    if n <= 0:
        yield lst
        return
    i, div = 0, ceil(len(lst) / n)
    while i < n:
        yield lst[i * div: (i + 1) * div]
        i += 1
list(divide_iter([1, 2, 3, 4, 5], 2))
list_input=[int(x) for x in input().split(",")]
print("数组:",list_input)
sub_num=int(input())
print(str(sub_num)+"等分")
result_list=[]
a=[]
count=1
for index in range(len(list_input)):
    a.append(list_input[index])
    if index== (count*(sub_num-1)):
        count=count+1
        result_list.append(a)
        a=[]
result_list.append(a)
print(result_list)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册