在Scala中,是否可以压缩两个不同大小的列表?
发布时间:2020-12-16 09:13:27 所属栏目:安全 来源:网络整理
导读:例如假设我有 val letters = ('a','b','c','d','e')val numbers = (1,2) 是否可以生成列表 (('a',1),('b',2),('c',('d',('e',1)) 解决方法 你的字母和数字是元组,而不是列表.所以我们来解决一下 scala val letters = List('a','e')letters: List[Char] = Lis
例如假设我有
val letters = ('a','b','c','d','e') val numbers = (1,2) 是否可以生成列表 (('a',1),('b',2),('c',('d',('e',1)) 解决方法
你的字母和数字是元组,而不是列表.所以我们来解决一下
scala> val letters = List('a','e') letters: List[Char] = List(a,b,c,d,e) scala> val numbers = List(1,2) numbers: List[Int] = List(1,2) 现在,如果我们压缩它们,我们不会得到所需的结果 scala> letters zip numbers res11: List[(Char,Int)] = List((a,(b,2)) 但是这表明,如果数字无限重复,那么问题将得到解决 scala> letters zip (Stream continually numbers).flatten res12: List[(Char,(c,(d,(e,1)) 不幸的是,这是基于数字比字母短的知识.所以要解决这一切 scala> ((Stream continually letters).flatten zip (Stream continually numbers).flatten take (letters.size max numbers.size)).toList res13: List[(Char,1)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 解析 – Scala – 具有查询字符串解析器和生成器DSL的URL
- angularjs – 角度智能表在更新时不刷新
- 为什么@ContentChildren不会在我的自定义Angular 2下拉列表
- 如何检查字符串是否包含shell中正则表达式中的字符?
- AXIS2最简单客户端jar包说明及错误对照
- scala – 放弃在Option上调用`get`并生成编译错误
- scala – 如何从SparkSQL DataFrame中的MapType列获取键和值
- typescript – Angular2 – 获取组件轻量级DOM innerHTML /
- 【数据结构】2、汉诺塔
- BootStrap中Datetimepicker和uploadify插件应用实例小结