Python map vs list comprehension

tMC*_*tMC 0 python lambda loops

比较这些时,您认为哪种更直观/更容易阅读?

>>> [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]
Run Code Online (Sandbox Code Playgroud)

lambda/map方式有什么好处吗?

dfb*_*dfb 5

我更喜欢第一个,它有一个优势.你可以代替

[ord(i) for i in 'some string']
Run Code Online (Sandbox Code Playgroud)

(ord(i) for i in 'some string')
Run Code Online (Sandbox Code Playgroud)

并有一个发电机而不是列表.在一些siutations伟大.

  • 而在 python3 中,地图总是生成一个生成器。 (2认同)