平时写 Ruby 比较多,最近要写些 Python 。比如我有一个表格,需要对每个单元格做一些操作,然后返回一个新表格,用 Ruby ,我会这样:
# Ruby
table.map { |row|
row.map { |cell|
...
do_something(cell)
...
}
}
如果这个 do_something 逻辑需要多行,如何在 Python 中优雅的实现呢?
试过:
列表解析:
[[do_something(cell) for cell in row] for row in table]
但是我不知道如何优雅地扩展成多行。
同样的,用 map 也难以扩展成多行:
list(map(lambda row: list(map(lambda cell: do_something(cell), row)), table))
当然我可以把要做的操作定义成方法,不过方法多了也比较麻烦。
请问最优雅的做法是什么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.