【发布时间】:2016-09-22 11:30:41
【问题描述】:
这是我第一次提问。我已经从你那里得到了很多帮助,甚至没有问。 (感激的脸)。 所以,几周前我从这里找到了这段有用的代码。
import re
def yearly_sort(value):
numbers = re.compile(r'(\d+)')
parts = numbers.split(value)
parts[1::2] = map(int, parts[1::2])
return parts
在这里完美运行:
def get_files_sorted(path_to_dir):
file_names = []
for root, dirs, files in os.walk(path_to_dir):
for file_name in sorted(files, key=yearly_sort):
file_names.append(os.path.join(root, file_name))
return file_names
现在,我遇到了描述上述函数的问题(正如您已经从非描述性方法名称中看到的那样)。
上述方法的名称应该是什么(而不是 some_sort())?
这个方法可以在 lambda 中以某种方式压缩,使得 sorted() 中的 key 可以绑定到 key=lambda?
【问题讨论】:
-
为什么你觉得需要用 lambda 替换它?你了解
lambda的工作原理吗? -
社区你好!
-
你能把函数yearly_sort写成lambda函数吗
-
@IgnacioVazquez-Abrams 在我看来它不适合一种方法。我的团队对描述性命名非常严格,我无法正确描述它。是的,我确实了解 lambda 是如何工作的,但是对这个了解不够。
-
当编码指南诱使程序员跳槽(并使代码更加神秘)以逃避添加简单函数时...
标签: python python-3.x lambda