List 筛选元组列表
我有一个元组列表,我想过滤掉元组中第二个值不等于7的所有元素 我有: 我能用通配符符号把它缩短吗 谢谢。你可以List 筛选元组列表,list,scala,filter,List,Scala,Filter,我有一个元组列表,我想过滤掉元组中第二个值不等于7的所有元素 我有: 我能用通配符符号把它缩短吗 谢谢。你可以 valuesAsList.filter(_._2 != 7) 但我怀疑它是否应该优于您的示例或此(考虑可读性): 相当直截了当,没有真正的优势IMHO: valuesAsList.filter(_._2 != 7) 对于元组数组,我们可以使用For with yield,它将返回一个数组 scala>val str=Array((2,你好),(3,我的名字),(8,Lolo)) r
valuesAsList.filter(_._2 != 7)
但我怀疑它是否应该优于您的示例或此(考虑可读性):
相当直截了当,没有真正的优势IMHO:
valuesAsList.filter(_._2 != 7)
对于元组数组,我们可以使用For with yield,它将返回一个数组 scala>val str=Array((2,你好),(3,我的名字),(8,Lolo)) res34:Array[(Int,String)]=数组((2,Hello),(3,MyNameIs),(8,Lolo)) (i4)收益率(i._1,i._2.toLowerCase)的scala>
res35:Array[(Int,String)]=数组((2,你好),(3,我的名字是))你试过了吗?无论您在哪里看到
x=>。。。x…
替换为。\ux
FWIW,我总是写filter(u.\u 2!=7)
,而不是任何更大更笨拙的东西。我不在乎v
,只在乎\u2!=7
;其他一切都会分散注意力.
是尽可能少的干扰。第二个更具可读性,因为你可以给v
一个名字,用来描述你与7
进行比较的内容。这个6年的问题要求一个较短的解决方案。你提供了一个更长的。
valuesAsList.filter {case (_, v) => v != 7}
valuesAsList.filter(_._2 != 7)