julia与python中的列表解析.jl
2016-03-16 10:34
549 查看
julia与python中的列表解析.jl
#=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 https://julia-zh-cn.readthedocs.org/zh_CN/latest/ 初学python几个月,初学julia才几天,理解与认识不到位, 如发现有误的地方,请指出,谢谢。 =# #= 在python使用列表解析,感觉比较方便: [r for r in range(10)] 可以使用if 过滤元素: [r for r in range(10) if r%2==0] 支持else,但是需要写成这样: [r if r%2==0 else r**2 for r in range(10)] 我再次看到这篇文章:http://www.swmemo.com/551.html 发现python的列表解析居然还能写成这样,我一脸精呆: [ a**2 if a<20 else a*2 for a in range(30) if len(str(a))>1] =# #以下julia这几种写法其结果等效的,都是生成1到10的数组: #交互模式中可以使用[1:10],在程序中这样写运行后会有提示。 d2=[r for r=1:10] println(d2) d3=[r for r in 1:10] println(d3) #julia的列表解析也可以调用函数 [run(`cmd /c echo 今天周"$r"了`) for r=1:5] #但是到目前版本0.4.3还不支持类似python的if 条件判断 #可以使用filter()和filter!()进行过滤 #以下例子是读取D盘的目录,过滤排除掉f中的目录 d=readdir("d:/") f=["快盘","AV","\$RECYCLE.BIN","temp","System Volume Information"] #$是特殊字符,需要加\转义 #使用filter过滤排除目录 for r in f d=filter(x -> x!=r,d) end #以上正常的写法,以下是列表解析的写法.列表解析中可以调用函数对不对?即学即用可以改成如下代码: [filter!(x->x!=r,d) for r in f] #参考手册中的 . 按位操作符,还有以下这样的写法: d=d[d.!="快盘"] #依此类推吧... d=d[d.!="AV"] #经过测试,与python不同,julia中的列表解析支持符值语句,所以列表解析可以写成像下面这样 [d=d[d.!=r] for r in f] #与[filter!(x->x!=r,d) for r in f]结果等效
相关文章推荐
- python学习笔记(7)-高级特性(三)-列表生成式与生成器
- python学习笔记(6)-高级特性(二)-迭代
- think python学习心得-(1)关于函数和模块
- windows系统中python2,python3共存的设置方法
- Python,pymysql简单使用。
- python中去掉HTML空格和全角Unicode空格
- python资料汇总
- python中的re.sub replace strip
- Python 图片下载PictureSpider
- pip安装使用详解
- Python项目自动化部署最佳实践@搜狐 | the5fire的技术博客
- Python学习心得之lxml的安装之路
- Python中的GIL
- 针对格式文件,Python读取一定大小的文件内容
- 安装scrapy时遇到的问题
- 利用python进行数据分析之绘图和可视化
- Scaffold a Flask Project - Real Python
- git python
- Python使用tablib生成excel文件的简单实现方法
- python学习笔记(5)-高级特性(一)-切片