list 函数用来创建一个新的 list。list 可以包含不同的数据类型,包括数据、数组、结构体、指针、对象以及其他的 list 或者 哈希表。

序号 类名称  

功能说明

  语法 & 举例
00 LIST 函数  

====<<<< Description >>>>====

创建一个新的 list。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = LIST( [Value1, Value2, ... Valuen] [, /EXTRACT] [, LENGTH=value] [, /NO_COPY])

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为一个新创建 list 的引用。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Valuen:每个元素的值。
◈  EXTRACT:默认情况下,数组和 list 都是以单独的元素存在的,设置此关键字,数组和 list 中的元素都会添加到此 list 中。
◈  LENGTH=value:指定元素的个数,如果大于参数个数,则循环填充,如果没有元素,则全部为“!NULL”。

 
IDL> array1 = indgen(4)
IDL> array2 = findgen(4)
IDL> list1 = list(array1, array2, /extract)
IDL> list1
[
0,
1,
2,
3,
0.00000000,
1.0000000,
2.0000000,
3.0000000
]
IDL> LIST(0, 1, LENGTH=5)
[
0,
1,
0,
1,
0
]
01 List::Add  

====<<<< Description >>>>====

增加一个新的元素。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

list.Add,Value [, Index] [, /EXTRACT] [, /NO_COPY])

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Value:添加元素的值。
◈  Index:添加的位置,默认添加在最后。
◈  EXTRACT:默认情况下,数组和 list 都是以单独的元素存在的,设置此关键字,数组和 list 中的元素都会添加到此 list 中。

 
IDL> a = list(indgen(3), /extract)
IDL> a.add, ['a', 'b'], 2, /extract
IDL> a
[
0,
1,
"a",
"b",
"a",
2
]
02 List::Count  

====<<<< Description >>>>====

返回元素的个数。或者指定元素的个数。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = list.Count( [Value] )

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Value:搜索的值,默认情况下返回所有元素的个数。

 
IDL> a = list(1,2,3,4,2,4,2)
IDL> print, a.count()
7
IDL> print, a.count(2)
3
  List::IsEmpty  

====<<<< Description >>>>====

用来测试此 list 是否为空,非空返回 1,否则返回 0。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = list.IsEmpty(  )

 
IDL> a = list()
IDL> a.isempty()
1
IDL> a = list(1, 2)
IDL> a.isempty()
0
  List::Move  

====<<<< Description >>>>====

将一个元素从一个位置移动到另一个位置,其他顺序不变。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

list.Move, Source, Destination

 
IDL> l = LIST(0, 1, 2, 3, 4)
IDL> l.Move, 1,4
IDL> PRINT, l
0
2
3
4
1
  List::Remove  

====<<<< Description >>>>====

从一个 list 中删除元素并选择性返回删除的值。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

list.Remove [, /ALL]

or

list.RemoveIndices

or

Value = list.Remove( [, /ALL] )

or

Value = list.Remove( Indices )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

如果 List::Remove( ) 没有参数,则删除最后一个元素并返回其值;
如果 List::Remove( ) 有一个参数 Index,则返回指定元素的值;
如果 List::Remove( ) 有一个索引数组或者 ALL 关键字,则返回一个包含指定元素的新 list。
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Indices:索引值或者索引数组,如果未指定,则删除最后一个元素。
◈  All:设置此关键字,则删除所有元素。

 
IDL> l = LIST(0, 1, 2, 3, 4)
IDL> l.Remove, [0, 1]
IDL> l
[
2,
3,
4
]
IDL> m = l.Remove(0)
IDL> m
2
  List::Reverse  

====<<<< Description >>>>====

将 list 里面全部元素的位置反转。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

list.Reverse

   
  List::Sort  

====<<<< Description >>>>====

为 list 中的所有元素进行排序并返回一个新的 list。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = list.Sort( COMPARE_FUNCTION=string, COUNT=integer, INDICES=variable, /OVERWRITE, /REVERSE )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为一个新创建 list 的引用。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  COMPARE_FUNCTION:。
◈  COUNT:用于排序的元素个数,前一部分。
◈  INDICES:变量值返回一个数组用来记录元素在原始列表的索引值。
◈  OVERWRITE:设置此关键字,将原 list 的内容进行排序,而不需要创建一个新的 list。
◈  REVERSE:相反的顺序。

   
  List::Swap  

====<<<< Description >>>>====

将两个元素的位置交换,其他元素的位置和顺序不变。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

list.Swap, Index1, Index2

   
  List::ToArray  

====<<<< Description >>>>====

此函数返回一个包含 list 元素的数组。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = list.ToArray( DIMENSION=value, MISSING=value, /NO_COPY, /PROMOTE_TYPE, /TRANSPOSE, TYPE=value )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为一个数组。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  TYPE:转换后的数据类型。

   
  List::Where  

====<<<< Description >>>>====

此函数返回一个 list 中与指定值相等元素的索引数组。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = list.Where( Value [, COMPLEMENT=variable] [, COUNT=variable] [, NCOMPLEMENT=variable] )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为一个数组。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  TYPE:转换后的数据类型。

   
           

【299】◀▶ IDL - LIST 函数的更多相关文章

  1. IDL Interpolate()函数

    Interpolate()函数:可以将数组调整到同维任意大小,并支持任意定位差值.调用格式为 Interpolate(数组,X[,Y[,Z]][,关键字]) 例子: IDL> arr=findg ...

  2. 【221】◀▶ IDL GUI 函数说明

    参考:GUI - Dialogs Routines参考:GUI - Widgets Routines参考:GUI - Compound Widgets Routines 01   DIALOG_MES ...

  3. 【219】◀▶ IDL 数学函数说明

    参考:Math - Miscellaneous Routines参考:Math - Statistical Tools Routines 01   ABS 绝对值. 02   SQRT 平方根. 03 ...

  4. 【297】IDL 过程、函数&关键字参数

    目录: 一.Procedure 1.1 基本说明&定义 1.2 关键字参数 二.Function 2.1 基本说明&定义 2.2 关键字参数 参考:IDL中函数中的带有关键字的参数的使 ...

  5. C语言-自定义函数

    C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...

  6. IDL 实现 EOF(经验正交函数分析)

    关于EOF详细介绍请wiki http://en.wikipedia.org/wiki/Empirical_orthogonal_functions或者Google之. 与PCA一样,EOF也是遥感多 ...

  7. IDL 字符串

    1.创建字符串 字符串和字符串数组通过赋值或函数方式来创建.在IDL字符串用" "或' '括起来表示. IDL> s1="abcdef" IDL> ...

  8. 【转】高通平台android 环境配置编译及开发经验总结

    原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  9. 【linux驱动分析】之dm9000驱动分析(六):dm9000_init和dm9000_probe的实现

    一.dm9000_init 打印出驱动的版本,注冊dm9000_driver驱动,将驱动加入到总线上.运行match,假设匹配,将会运行probe函数. 1 static int __init 2 d ...

随机推荐

  1. Django(一):从socket到MVC

    一.socket的http套路 web应用本质上是一个socket服务端,用户的浏览器是一个socket客户端.socket处在应用层与传输层之间,是操作系统中I/O系统的延伸部分(接口),负责系统进 ...

  2. scrapy模拟浏览器爬取验证码页面

    使用selenium模块爬取验证码页面,selenium模块需要另外安装这里不讲环境的配置,我有一篇博客有专门讲ubuntn下安装和配置模拟浏览器的开发 spider的代码 # -*- coding: ...

  3. matplotlib ----- 初步

    直接看几段代码即可: # 加载模块的方式 import matplotlib.pyplot as plt import numpy as np # 最简单的单线图 x = np.linspace(0, ...

  4. python 之 list,tuple,dict,set

    基本类型,  其中set好像提到的很少 list : []  根据字面, 是一个列表,  所以有序, 可以通过序号方位 tuple: ()  是不变的list, 通过序号访问 dict: {},  字 ...

  5. ballerina 学习十三 函数&&documentation

    ballerina 函数和其他语言一样的,可以实现重用 简单例子 代码 import ballerina/io; documentation { `User` is a user defined ob ...

  6. 虚拟主机wordpress文件上传大小限制更改

    默认的wp文件上传的大小都是2M 登录阿里云进入控制面板找到你的虚拟机实例 点击管理 改成10M,最大也就是10,虚拟机的睾丸之处.保存,去页面新媒体添加可以看到最大限制为10M了

  7. 16.Python使用lxml爬虫

    1.lxml是解析库,使用时需要导入该包,直接在命令行输入:pip3 install lxml,基本上会报错.正确应该去对应的网址:https://pypi.org/project/lxml/#fil ...

  8. 解决asp.net上传文件时文件太大导致的错误

    即使在web.config中添加了节点和设置依然是不行的,还是报文件太大的错误, <httpModules>       <add name="UploadHttpModu ...

  9. UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 7: ordinal not in range(128) [duplicate]

    Python在往文件里写东西的时候,如果ascii码报错 参考 http://stackoverflow.com/questions/19833440/unicodeencodeerror-ascii ...

  10. C++内存管理原则

    内存可分配的地方有2个: 栈Stack和堆Heap. 内存管理的方式有3种: RAII, 智能指针或者GC. 不推荐自己管理裸指针. C++的内存管理其实是一个哲学问题: 怎样才能确定一个东西没有被其 ...