当前位置: 代码迷 >> 综合 >> [Haskell学习]Parallel list comprehension
  详细解决方案

[Haskell学习]Parallel list comprehension

热度:63   发布时间:2023-12-06 17:35:05.0
近日在学习Haskell,对其Parallel list comprehension有点兴趣,比如她可以非常容易地解决这样的问题:
将192.168.0.1->254至192.168.3.1->254区间内的所有IP地址列出来
Prelude> [[a,b,c,d] | a <- [192], b <- [168], c <- [0..3], d <- [1..254]]
[[192,168,0,1],[192,168,0,2],[192,168,0,3],[192,168,0,4],[192,168,0,5],[192,168,0,6]
.....
.....
,[192,168,3,251],[192,168,3,252],[192,168,3,253],[192,168,3,254]]

Python从2.0版开始也引入了这一特征,与Haskell的版本相比,稍稍有失美感:
 [(a,b,c,d)  for  a  in  [ 192 for  b  in  [ 168 for  c  in  range(0,  4 for  d  in  range( 1 255 )]

COOL!
  相关解决方案