python - Python中的函数编程

标签 python function functional-programming

我正在尝试定义一个名为 new_f 的新函数,只是为了练习:
函数的目的是:

x = ['1', '2', '3', '4']
y = new_f(x)
print(y)

那应该给出:

['4', '3', '2', '1']

所以它是 x 的反转。
我试过这样的事情:

def new_f(x):
    y = len(x)
    for z in range(y-1,-1,-1):
        r = print([x[z]])
    return r

但这给出了:

['4']
['3']
['2']
['1']

好吧,这不是我想要的,所以也许:

---------
for z in range(y-1,-1,-1):
        r = [x[z]]
return r

然后我得到:

['1']

所以他检查了所有 z 并给了我最后一个。
我该如何解决这个问题?
提前致谢。

最佳答案

您可以将 r 初始化为一个空列表并将元素附加到它,最后返回 r

def new_f(x):
    y = len(x)
    r=[]
    for z in range(y-1,-1,-1):
        r.append(x[z])
    return r

但是有一些优雅和更 pythonic 的方法来反转列表,如反向索引:

the_list[::-1]

或内置reversed功能:

reversed(the_list)

关于python - Python中的函数编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29956084/

相关文章:

python - 在 SQL 查询中多次使用同一变量。 Python 代码?

python - style.format() 和小数列的问题

c++ - 将代码转换为数组并显示

函数给出奇怪的错误?

f# - 我如何根据 list 做汽车和干部?

python - Pycharm 中没有模块 pygame

python - if else 在 for 循环下工作 != but ==

Wordpress 从内容中删除短代码

haskell - 这不是双向遍历吗?

c++ - 推导 std::function 结果类型并将其用作参数