如何在Julia中用IterTools实现类似Python的repeat参数生成任意长度0/1序列?
在Julia中用IterTools实现类似Python itertools.product的repeat功能
你可以借助Julia的参数展开和fill函数,不用手动硬编码多个[0,1]参数,就能生成任意长度的0/1序列:
using IterTools # 替换n为你需要的序列长度 n = 5 # 生成对应长度的所有0/1元组迭代器 result = product(fill([0, 1], n)...)
简单解释:
fill([0, 1], n)会创建一个包含n个[0,1]元素的数组- 末尾的
...是Julia的参数展开操作符,会把数组里的每个元素作为独立参数传递给product函数,效果和手动写n个[0,1]参数完全一致
如果需要把迭代器转换成可查看的数组,直接用collect(result)即可:
collect(result)
内容的提问来源于stack exchange,提问作者MonteNero
相关产品推荐
相关产品推荐

