VlS*_*VlS 2 python functional-programming function
我正在尝试定义一个名为的新函数new_f,仅用于练习:
函数的目的是:
x = ['1', '2', '3', '4']
y = new_f(x)
print(y)
Run Code Online (Sandbox Code Playgroud)
这应该给:
['4', '3', '2', '1']
Run Code Online (Sandbox Code Playgroud)
所以它与x相反.
我试过这样的事情:
def new_f(x):
y = len(x)
for z in range(y-1,-1,-1):
r = print([x[z]])
return r
Run Code Online (Sandbox Code Playgroud)
但是这给了:
['4']
['3']
['2']
['1']
Run Code Online (Sandbox Code Playgroud)
好吧,那不是我想要的,所以也许:
---------
for z in range(y-1,-1,-1):
r = [x[z]]
return r
Run Code Online (Sandbox Code Playgroud)
我得到:
['1']
Run Code Online (Sandbox Code Playgroud)
所以他经历了所有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
Run Code Online (Sandbox Code Playgroud)
但是有一些优雅和更加pythonic的方法来反转像反向索引这样的列表:
the_list[::-1]
Run Code Online (Sandbox Code Playgroud)
或内置reversed功能:
reversed(the_list)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |