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 (" ...
随机推荐
- python操作mongodb之二聚合查询
#聚合查询 from pymongo import MongoClient db = MongoClient('mongodb://10.0.0.9:27017/').aggregation_exam ...
- KD-tree
就是K维空间上的二叉查找树. 每个node对应k维空间的超矩形区域 在方差最大的维度上,比较数据与kd-tree的根节点.中间节点,在该维度上的中值处划分,得到新的子空间,直到不能再分. 用于最近邻查 ...
- SAP 库存关联表信息
一般保存在 MARD 表 LABST 字段中, 为Valuated Unrestricted-Use Stock INSME: Stock in Quality Inspectio ...
- js到处excel
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 【软件使用】TortoiseSVN版本管理软件使用简单说明
TortoiseSVN版本管理软件使用简单说明 很多时候在写一个小的项目不想使用github等工具,只想简单在本地搭建一个版本管理器.那么TortoiseSVN就非常适合. 第一步:下载Tortois ...
- Windows 8 IIS配置PHP运行环境
在Windows 8 的IIS(8.0)中搭建PHP运行环境: 一:安装IIS服务器 1.进入控制面板>>程序和功能>>打开或关闭Windows 功能,找到Internet信息 ...
- each用法
1.数组用法 <script> var s=["s","i","l","e","n",& ...
- 笔记3:关于VBS整人代码的浅谈
今天又看到有人在群里刷屏了.就想到了以前玩过的发QQ骚扰信息程序了.其实蛮简单的 和网上很多的整人代码差不多 一.直接在网上搜索“VBS整人代码”,然后找到有用的代码复制着. ps:在网上有很多有意思 ...
- hdu 3172 Virtual Friends (映射并查集)
Virtual Friends Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- Best Time to Buy and Sell Stock II [LeetCode]
Problem Description: http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ Basic idea: ...