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. vmware linux nat模式设置静态ip

    网上资料很多,但是都不怎么实用,这里给大家总结一下.nat模式上网.因为nat本身就能上网为什么还要设置ip.这有点自找麻烦.但是在集群这是必须的.要么你搭建伪分布,要么至少具有三台物理机器.为了节省 ...

  2. IO流-文件夹的拷贝

    文件夹的拷贝操作 要求: 完成文件夹的拷贝,包括子目录的拷贝和所有文件的拷贝 分析: 首先,得在目标目录下创建一个与源文件夹名称相同的文件夹 遍历源文件夹中的所有文件对象,判断子文件是目录还是文件 如 ...

  3. SharePoint2013工作流workflow manager配置

    SharePoint2013版本的工作流较sharepoint 2010变化较大,将工作流部分从sharepoint中分离出来为单独的服务,通过与sharepoint关联使用. SharePoint2 ...

  4. 【转】【备忘录】MySQL性能优化的21个最佳实践 和 mysql使用索引

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...

  5. CSS3 教程 选择器 标记一下防止 要找时404

    客 » Airen的博客 CSS3 选择器——基本选择器 作者:大漠 日期:2011-08-09 点击:6418  CSS的选择器,我想大家并不会陌生吧,因为天天在使用,但对于CSS3的选择器,要运 ...

  6. centos7 yum 安装mysql

    介绍在CentOS7上yum安装数据库服务器MySQL Community Server 5.7的方法. 准备 CentOS7默认安装了和MySQL有兼容性的MariaDB数据库,在我们安装MySQL ...

  7. Java-Runoob-高级教程:Java 数据结构

    ylbtech-Java-Runoob-高级教程:Java 数据结构 1.返回顶部 1. Java 数据结构 Java工具包提供了强大的数据结构.在Java中的数据结构主要包括以下几种接口和类: 枚举 ...

  8. 如何通过.Net Compact Framework来获得应用程序的当前路径

    在Win CE上是没有驱动器的概念的,所以要想使用System.IO.Directory.GetCurrentDirectory()来获得当前路径的话,在CF中会遇到未知错误.   应该使用Path. ...

  9. 禁用绑定在Repeater的控件

    实例一: 前台: <asp:Repeater ID="rp_bf" runat="server" onitemdatabound="rp_bf_ ...

  10. Java复习——多线程与并发库

    开启一个线程 实现一个线程的方式有两种:继承Thread类.实现Runnable接口(也存在说三种的情况,第三种是使用线程并发库中的线程池创建一个线程).这两种方法都需要重写Run方法,具体的线程逻辑 ...