这两个映射表达式在 Scala/Python 中有什么区别?



两者之间有什么区别吗?

1. a = b.map(lambda (x,y): (y,x))
2. a = b.map(lambda x: (x[1], x[0]))

对于那些在Scala工作的人来说,我认为应该是这样的。

1. a = b.map((x,y) => (y,x))
2. a = b.map(x => (x._2, x._1))

在Python 2中,它们是相同的。

Python 3 的区别在于,第一个是语法错误,第二个不是。

Scala 的不同之处在于,第一个是二进制函数,第二个是采用元组的一元函数。如果你想模式匹配,你必须传递一个部分函数,像这样:y.map{ case (x,y) => (y,x) }

相关内容

  • 没有找到相关文章