有一个类似input = [[“a”,“b”,“c”],[1,2,3],[“e”,“f”,“g”],…], 里面的长度不限;需要对里面每一个元素形成一个元组为元素的数组格式数据。里面的格式,对原来的元素的格式不进行破坏。

当输入:

input = [["a","b","c"],[1,2,3],["e","f","g"]],

输出:

27-element Vector{Tuple{Char, Int64, String}}:('a', 1, "e")('a', 1, "f")('a', 1, "g")('a', 2, "e")('a', 2, "f")('a', 2, "g")⋮('c', 2, "f")('c', 2, "g")('c', 3, "e")('c', 3, "f")('c', 3, "g")

代码如下:

function f(input)output =[]len = length(input)if len == 1return inputelseif len ==0error("input is empty!")endfor i = 1:len-1if i == 1output = g(input[1],input[i+1])elseoutput = g(output,input[i+1])endendreturn output
endfunction g(a,b)return [(i...,j) for i in a for j in b]
end

上面的代码很一般,但是我认为“…”的用法很好,如果没有…,就会形成:

julia> f()
27-element Vector{Tuple{Tuple{String, Int64}, String}}:(("a", 1), "e")(("a", 1), "f")(("a", 1), "g")(("a", 2), "e")(("a", 2), "f")(("a", 2), "g")⋮(("c", 2), "f")(("c", 2), "g")(("c", 3), "e")(("c", 3), "f")(("c", 3), "g")

显然,这个并不是我们要的。所以,因为加了…这么一点点,结果就是很神奇!

进一步,我们把input变得更复杂,测试一下结果:

julia>  arr_data = [["a","b","c"],[1,2,3],["e","f","g"],[1.0,2.0,5.0,6.0,7.0,8.0,9.0],["hello","world"],[["we"],["are"],["together!"]]]
6-element Vector{Vector{T} where T}:["a", "b", "c"][1, 2, 3]      ["e", "f", "g"][1.0, 2.0, 5.0, 6.0, 7.0, 8.0, 9.0]["hello", "world"][["we"], ["are"], ["together!"]]julia> f(arr_data)
1134-element Vector{Tuple{Char, Int64, String, Float64, String, Vector{String}}}:('a', 1, "e", 1.0, "hello", ["we"])('a', 1, "e", 1.0, "hello", ["are"])      ('a', 1, "e", 1.0, "hello", ["together!"])('a', 1, "e", 1.0, "world", ["we"])       ('a', 1, "e", 1.0, "world", ["are"])      ('a', 1, "e", 1.0, "world", ["together!"])('a', 1, "e", 2.0, "hello", ["we"])       ('a', 1, "e", 2.0, "hello", ["are"])      ('a', 1, "e", 2.0, "hello", ["together!"])('a', 1, "e", 2.0, "world", ["we"])       ('a', 1, "e", 2.0, "world", ["are"])      ('a', 1, "e", 2.0, "world", ["together!"])('a', 1, "e", 5.0, "hello", ["we"])       ⋮('c', 3, "g", 7.0, "world", ["together!"])('c', 3, "g", 8.0, "hello", ["we"])('c', 3, "g", 8.0, "hello", ["are"])('c', 3, "g", 8.0, "hello", ["together!"])('c', 3, "g", 8.0, "world", ["we"])('c', 3, "g", 8.0, "world", ["are"])('c', 3, "g", 8.0, "world", ["together!"])('c', 3, "g", 9.0, "hello", ["we"])('c', 3, "g", 9.0, "hello", ["are"])('c', 3, "g", 9.0, "hello", ["together!"])('c', 3, "g", 9.0, "world", ["we"])('c', 3, "g", 9.0, "world", ["are"])('c', 3, "g", 9.0, "world", ["together!"])

Julia: ...的作用,有意思!相关推荐

  1. css事件另一个地方发生变化,在CSS悬停事件中,我可以更改另一个div的样式吗?...

    本问题已经有最佳答案,请猛点这里访问. Possible Duplicate: Is there any way to hover over one element and effect a diff ...

  2. python的pass在函数中的作用_Pass Share:Python / Julia 中函数变量的传递机制

    从 C / MATLAB 过来的同学注意! Julia / Python 中使用的参数传递变量方式是不一样的.(以C的眼光看)在语法上细微的差别就会产生完全不一样的内容.(至少我被坑了很多次).这篇文 ...

  3. 因果关系是通向强AI的阶梯or作用被夸大?

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 一直以来,机器学习和统计学之间的界限就比较模糊,比如诺奖得主托马斯·萨金特就曾经说过人工智能其实就是统计学,只不过用了一个很华丽的 ...

  4. Science:亚硝酸盐氧化细菌在黑暗海洋中的主要作用

    文章目录 亚硝酸盐氧化细菌在黑暗海洋中的主要作用 写在前面 摘要 热心肠日报 背景 结果 图1 非全长16S rRNA基因序列的系统发育树 图2 通过募集宏基因组片段的方法确定亚硝酸盐氧化细菌单扩增基 ...

  5. 赤兔四足机器人的作用_跑得快,打不死!清华大学开发“小强”机器人,壮汉狂踩也挡不住前进步伐...

    大数据文摘编辑部出品 提到蟑螂,很多同学都深恶痛绝. 这种身型小巧的虫子不仅跑得快.繁殖能力强,而且超级抗打抗压,在所有的环境下都能顽强地生存下去. 12mm高的蟑螂可以躲进4mm的缝隙 也难怪周星驰 ...

  6. QCon演讲速递:异步处理在分布式系统中的优化作用

    本文根据阿里巴巴技术保障研究员赵海平在2015年QCon全球软件开发大会(北京站)主题演讲整理而成. \\ 赵海平在Facebook工作8年期间,主要针对后端进行性能优化的工作,包括PHP的优化,me ...

  7. Julia数据统计最全教程,代码图解全都有,昆士兰大学出品,公开免费阅读

    郭一璞 发自 中关村  量子位 报道 | 公众号 QbitAI Julia,作为在AI语言榜上飞速上升的语言,拿来做数据统计也是一把好手. 在Quora上"Julia做数据统计有多好&quo ...

  8. 以为是行废代码,原来有这作用!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 走过路过不要错过 来源 | https://w ...

  9. html js什么作用,html錨點的作用和js選項卡錨點跳轉的使用

    location是javascript里邊管理地址欄的內置對象,比如location.href就管理頁面的url,用location.href=url就可以直接將頁面重定向url.而location. ...

  10. HSIC简介:一个有意思的判断相关性的思路

    作者丨苏剑林 单位丨追一科技 研究方向丨NLP,神经网络 个人主页丨kexue.fm 前段时间在机器之心看到这样的一个推送彻底解决梯度爆炸问题,新方法不用反向传播也能训练 ResNet,当然,媒体的标 ...

最新文章

  1. EJB学习(四)——Enterprise Bean(企业Bean)和Entity Bean(实体Bean)
  2. MySQL的字符编码体系(一)——数据存储编码
  3. java 填充字符串_如何用Java填充字符串?
  4. RTC_WaitForSynchro()
  5. 给source insight添加.cc的C++文件后缀识别(转载)
  6. 分子克隆基础:什么是质粒
  7. 戴口罩也能刷门禁?疫情下AnalyticDB亮出社区管理的宝藏神器!
  8. python背景怎么自定义铃声_Python 上课铃声的定时播放(具有较强的自我管理能力.jpg)...
  9. mysql数据 lt =_MySql之数据操作
  10. Android UI--自定义ListView(实现下拉刷新+加载更多)
  11. [2014]兄弟连高洛峰 php教程5.5.1,2014PHP兄弟连全套教程
  12. qtdesigner设计表格_Qt Designer下的一些基础操作
  13. CIP4和JDF,您知道多少?(转)
  14. 完美解决Pycharm报错[WinError 193] %1 不是有效的 Win32 应用程序
  15. .vimrc 错误 E484:打不开syntax.vim E185:Cannot find color scheme
  16. 猿创征文|嵌入式从业者从懵懂到专业
  17. 自然数分解(罗列出一个自然数的加数的所有组合)(回溯)
  18. 合肥 python培训
  19. php电商开源框架,Fecshop是基于php Yii2框架之上开发的一款优秀的开源电商系统
  20. 【taro】taro编译h5报React Refresh runtime should not be included in the production bundle

热门文章

  1. Kongzue的App更新框架
  2. 用UIWebView加载本地图片和gif图
  3. 实验记录一 初步接触cortex-M3
  4. linux c 笔记 线程控制(一)
  5. Eclipse代码自动提示设置
  6. ExecuteScalar的使用
  7. hdu 二分图最大匹配问题 (hdu 1083)
  8. Python开发【第五篇】:Python基础之杂货铺
  9. xmemcached的time out
  10. 智慧解析第20集:破解迷魂术