【问题标题】:Is it better complexity wise to use the map() function in python or a comprehension? [duplicate]在 python 中使用 map() 函数或理解是更好的复杂性吗? [复制]
【发布时间】:2015-05-16 17:43:37
【问题描述】:

正如问题所述。 map(f, iterable) 可以写成 [f(x) for x in iterable]。 哪个更好用?为什么?

例如, 我想将字符串列表转换为 int。

ip = (raw_input().split())
ip = [int(x) for x in ip]

ip = (raw_input().split())
ip = map(int, ip)

【问题讨论】:

  • 找到链接:artima.com/weblogs/viewpost.jsp?thread=98196,Guido van Rossum 解释了他为什么要从语言中删除 mapfilterlambdareduce
  • 当您说“复杂性”时,您指的是计算机科学概念(大 O 表示法)吗?还是您的意思是“代码的复杂性”?
  • @KarlKnechtel 我指的是计算机科学概念!
  • @TimPietzcker 谢谢 :)

标签: python python-2.7 time-complexity space-complexity


【解决方案1】:

在某些情况下,map 可能在微观上更快(当您不是为此目的制作 lambda,而是在 map 和 listcomp 中使用相同的函数时)。在其他情况下,列表推导可能更快,并且大多数(不是全部)pythonista 认为它们更直接和更清晰。

这里解释得更清楚Python List Comprehension Vs. Map

【讨论】:

  • 由于您只是复制了您链接到的 Alex Martelli 答案的第一段,因此建议将问题作为副本关闭会更合适。不确定您的声誉是否足以做到这一点,所以我为您做了。感谢您找到规范的答案!
  • 我不知道,最近开始在这里回答。将检查出来。谢谢。
猜你喜欢
  • 2016-07-23
  • 2014-11-04
  • 1970-01-01
  • 2011-01-15
  • 2011-03-03
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
相关资源
最近更新 更多