alex_bn_lee

导航

【299】◀▶ IDL - LIST 函数

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:转换后的数据类型。

   
           

posted on 2018-01-29 21:06  McDelfino  阅读(1277)  评论(0编辑  收藏  举报