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]结果等效

julia与python中的列表解析.jl的更多相关文章

  1. Python中的列表解析和生成器表达式

    Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 #!/usr/bin/env python #_*_coding:utf-8 ...

  2. python 中的列表解析和生成表达式 - 转

    优雅.清晰和务实都是python的核心价值观,如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析(  List comprehensions)和生成表达式,通过这两 ...

  3. Python中的列表解析和生成表达式

    摘要:优雅.清晰和务实都是python的核心价值观,如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析( List comprehensions)和生成表达式,通过 ...

  4. Python中的列表解析和列表推导是一回事吗?

    列表解析和列表推导就是一个意思,只是从英文"list comprehension"翻译过来的不同翻译方法. 列表解析就是通过解析表达式从一个可迭代对象生成一个新的列表的Python ...

  5. Python 迭代器和列表解析

    Python 迭代器和列表解析 1)迭代器 一种特殊的数据结构,以对象形式存在 >>> i1 = l1.__iter__() >>> i1 = iter(l1) 可 ...

  6. 第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容

    一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>和<第14.11节 Python中使用BeautifulSo ...

  7. 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容

    一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>介绍了BeautifulSoup对象的主要属性,通过这些属性可以访 ...

  8. python中的列表及numpy数组排序

    一.列表排序  # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in f ...

  9. Python中的列表生成式和多层表达式

    Python中的列表生成式和多层表达式 如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? L=[]; ,): L.append(x*x) print L print (" ...

随机推荐

  1. imageview圆角的实现

    介绍一种简单的.另类的实现,就是把图片在显示前处理成圆角的,但是不改变存储的图片.相当于经过了图像过滤. 需要调用的图像工具类是 package com.gaosi.util; /** * @auth ...

  2. 添加无线服务wzcsvc服务,Eventlog服务

    <添加eventlog服务.reg> Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentCont ...

  3. Python第三方常用工具、库、框架等

    Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋 ...

  4. sass less

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  5. C#抓包

    抓包過程中發現頁面<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" v ...

  6. 149. Max Points on a Line *HARD* 求点集中在一条直线上的最多点数

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  7. SVMshow

    SVMshow % http://www.peteryu.ca/tutorials/matlab/visualize_decision_boundaries % load RankData % Num ...

  8. eclipse-mysql-tomcat搭建jspk开发环境

    ...本来不想写,刚刚给女朋友又安了一次发现几乎忘了,还是记一下吧.. 1.默认安装好jdk以及eclipse或相关ide. 2.检查jdk环境变量是否配置成功:cmd下输入 java -versio ...

  9. spring aop编程

    1.AOP,面向切面编程(aspect Oriental programing),使用aop,可以将处理切面aspect的代码注入到主程序,通常主程序的主要目的不是处理这些切面aspect,可以防止代 ...

  10. qml 一些知识点

    1.pagestack进行页面调整的时候,需要对页面状态做一些跟踪: Stack.onStatusChanged: { if (Stack.status == Stack.Active) { //可以 ...