python基础题,用for循环解决

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

编写一个 decale函数 ,该函数将列表l和数字d作为参数,并通过将d的偏移量添加到l 的每个元素来返回从l获得的列表。
示例: decale ([4, 17, 12], 3)是[7, 20, 15]。

写一个intercale_zeros功能 这需要作为参数列表并返回从所获得的列表中升通过的每个元素之后插入一个零。
示例: intercale_zeros ([4, 17, 12])等于[4, 0, 17, 0, 12, 0]。

编写一个supprime 函数,它将列表l和元素elem作为参数,并通过删除所有出现的elem返回从l获得的列表。
示例:supprime ([4, 7, 12, 4, 4, 0, 4, 5], 4)等于[7, 12, 0, 5]。

编写一个函数insere_milieu,它将列表l和元素elem作为参数,并通过在l的“中间”添加elem来返回从l获得的列表,即:
如果l的长度是偶数,则该项目添加一次,在列表的中间。
如果l的长度是奇数:元素被添加到中心元素的任一侧。
例如: insere_milieu([4,7,12,3],0)是等于以[4,7,0,12,3] 和insere_milieu([9,3,5,6,2],1)是等于以[9, 3, 1 , 5, 1 , 6, 2]。

编写一个decoupe函数,它将数字列表l和阈值数字作为参数,并返回两个列表:第一个列表是通过仅保留小于或等于阈值的数字从l获得的;第二个是通过只保留严格大于阈值的数字从l获得的。
示例:decoupe([14, 27, 12, 0, 40, 34, 20, 11], 20) 具有返回值 [14, 12, 0, 20, 11]和[27, 40, 34]。

题主是不是这个意思:

def insere_milieu(arr, d):
    k = len(arr)
    arr.insert(k//2, d)
    # if k%2:
    #     arr.insert(2+k//2, d)
    return arr
res = insere_milieu([4,7,12,13], 0)
print(res)  # [4, 7, 0, 12, 13]
res = insere_milieu([9,3,4], 1)
print(res)  #[9, 1, 3, 4]

>>> def decale(arr, d):
    return [i+d for i in arr]

>>> decale([4,17,12], 3)
[7, 20, 15]
>>> def intercale_zeros(arr):
    result = list()
    for i in arr:
        result += [i,0]
    return result

>>> intercale_zeros([4,17,12])
[4, 0, 17, 0, 12, 0]
>>> def supprime(arr, d):
    return list(filter(lambda i:i!=d, arr))

>>> supprime([4,7,12,4,4,0,4,5], 4)
[7, 12, 0, 5]
>>> def insere_milieu(arr, d):
    k = len(arr)
    arr.insert(k//2, d)
    if k%2:
        arr.insert(2+k//2, d)
    return arr

>>> insere_milieu([4,7,12,13], 0)
[4, 7, 0, 12, 13]
>>> insere_milieu([9,3,5,6,2], 1)
[9, 3, 1, 5, 1, 6, 2]
>>> def decoupe(arr, d):
    return list(filter(lambda i:i<=d, arr)), list(filter(lambda i:i>d, arr))

>>> decoupe([14,27,12,0,40,34,20,11], 20)
([14, 12, 0, 20, 11], [27, 40, 34])