我有此列表([integer],[integer](我想转换为[(Integer,Integer(]。
根据我阅读的内容,我应该使用诸如MAP。
之类的高阶功能。alterList :: ([Integer],[Integer]) -> [(Integer,Integer)]
alterList a = map(a -> .....?)
有指南吗?这两个列表均具有相同的大小。
就像我有两个列表([1,2,3,4],[5,6,7,9](,我想转换为[(1,5(,(2,6(,(3,7(,(4,8(]
因此,在您更正帖子后,我认为您想要
alterList :: ([Integer],[Integer]) -> [(Integer,Integer)]
alterList (l1, l2) = zip l1 l2
示例:
>>> alterList ([1,2,3,4],[5,6,7,9])
[(1,5),(2,6),(3,7),(4,9)]
这相当于
alterList' :: ([Integer],[Integer]) -> [(Integer,Integer)]
alterList' = uncurry zip
请注意,即使两个列表的尺寸不相同,此功能也可以工作:在这种情况下,它的作用好像最长的列表被截断为最短一个的长度。