Python map vs list comprehension
本问题已经有最佳答案,请猛点这里访问。
当比较这些时,你认为哪个更直观/更容易阅读?
1 2 3 4 5 | >>> [ord(i) for i in 'some string'] [115, 111, 109, 101, 32, 115, 116, 114, 105, 110, 103] >>> map(ord,'some string') [115, 111, 109, 101, 32, 115, 116, 114, 105, 110, 103] |
lambda/map方式有什么好处吗?
我更喜欢第一个,这是有好处的。你可以代替
1 | [ord(i) for i in 'some string'] |
写
1 | (ord(i) for i in 'some string') |
并且有一个生成器而不是一个列表。在某些方面很好。
我更喜欢第一个,因为我更习惯。做很多函数式编程的人可能更喜欢第二个,因为它更适合它的思维方式。但是第二个版本是非常复杂的。它可以减少到
1 | map(ord,'some string') |
更具可读性,使想法更为明显。
这似乎是以前问过和回答过的
我会用: