[英]What is the difference between these two map expressions in 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) }
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.