两者之间有什么区别吗?
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) }
。