繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM