julia与python中的列表解析.jl
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的更多相关文章
- Python中的列表解析和生成器表达式
Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 #!/usr/bin/env python #_*_coding:utf-8 ...
- python 中的列表解析和生成表达式 - 转
优雅.清晰和务实都是python的核心价值观,如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析( List comprehensions)和生成表达式,通过这两 ...
- Python中的列表解析和生成表达式
摘要:优雅.清晰和务实都是python的核心价值观,如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析( List comprehensions)和生成表达式,通过 ...
- Python中的列表解析和列表推导是一回事吗?
列表解析和列表推导就是一个意思,只是从英文"list comprehension"翻译过来的不同翻译方法. 列表解析就是通过解析表达式从一个可迭代对象生成一个新的列表的Python ...
- Python 迭代器和列表解析
Python 迭代器和列表解析 1)迭代器 一种特殊的数据结构,以对象形式存在 >>> i1 = l1.__iter__() >>> i1 = iter(l1) 可 ...
- 第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>和<第14.11节 Python中使用BeautifulSo ...
- 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>介绍了BeautifulSoup对象的主要属性,通过这些属性可以访 ...
- python中的列表及numpy数组排序
一.列表排序 # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in f ...
- Python中的列表生成式和多层表达式
Python中的列表生成式和多层表达式 如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? L=[]; ,): L.append(x*x) print L print (" ...
随机推荐
- 【bug】“Mat map” opencv全局变量不明确
Mat map= Mat::zeros(WIN_WIDTH, WIN_HIGH, CV_8UC3);//全局变量 int main() { map.setTo(); } Error map 不明确 s ...
- commonJS — 函数操作(for Function)
for Function github: https://github.com/laixiangran/commonJS/blob/master/src/forFunction.js 代码 /** * ...
- 解析xml报classnotfound错误
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使 用这种方式, 方法是使用Document的selectNodes(String XP ...
- Docker 使用指南 (一)—— 基本操作
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98来源:腾云阁 https://www.qcloud ...
- Eclipse全面提速小技巧
转自:http://rongmayisheng.com/post/eclipse%E5%85%A8%E9%9D%A2%E6%8F%90%E9%80%9F 欢迎关注我的社交账号: 博客园地址: http ...
- Laravel多对多简析
首先生成两张数据表,一般要实现两张数据表之间的联系要建立第三张表,如下 数据表生成之后,生成一些测试数据,接下来就对表article_tag表进行操作 在模型文件中声明两张表之间的关系: 测试数据:
- as(C# 参考)
原文地址:https://msdn.microsoft.com/zh-cn/library/cscsdfbt(v=vs.110).aspx 可以使用 as 运算符执行转换的某些类型在兼容之间的引用类型 ...
- spring来了-06-事务控制
概述 编程式事务控制 自己手动控制事务,就叫做编程式事务控制. Jdbc代码: Conn.setAutoCommite(false); // 设置手动控制事务 Hibernate代码: Sessio ...
- 如何使用Vbox添加虚拟机
简介 :vbox是oracle旗下的一个免费的虚拟机软件. 个人感觉操作方便,至少比VM要好用的多. 如果有已经制作好的 点击下一步: 下一步 找到之后 创建 look
- hdu---(Tell me the area)(几何/三角形面积以及圆面积的一些知识)
Tell me the area Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...