[英]Python map vs list comprehension [duplicate]
这个问题在这里已经有了答案:
在比较这些时,您认为哪个更直观/更易于阅读?
>>> [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 方式有什么好处吗?
我更喜欢第一个,它有一个优势。 你可以代替
[ord(i) for i in 'some string']
写
(ord(i) for i in 'some string')
并有一个生成器而不是列出一个列表。 在某些情况下很棒。
我更喜欢第一个,因为我更习惯了。 做很多函数式编程的人可能更喜欢第二种,因为它更适合它的思维定势。 但是第二个版本太复杂了。 它可以简化为
map(ord,'some string')
这更具可读性,并使想法更加明显。
我会使用: [ord(i) for i in 'some string']
。 使用 map 和 lambda 据说比使用列表推导要慢得多。 参见Python 列表理解对比。 Map在我看来,第一个也更具可读性。
这似乎已经被问过并回答过
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.