icdlab的个人空间 https://blog.eetop.cn/icdlab [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

010_Skill基本语法—List操作函数

已有 878 次阅读| 2023-8-31 13:50 |个人分类:Skill教程|系统分类:芯片设计| skill

来源微信公众号:icdlab,关注公众号获取更多信息


List元素删除

remove

  • 函数功能:
    移除输入list中所有与指定值相同的元素,原list不变
  • 函数用法:
    remove( g_x l_arg )   ;=> l_result
  • 函数输入:
    函数输入g_x为待删除元素值,l_arg为待处理列表;
  • 函数输出:
    函数输出一个将l_arg中g_x删除的新的列表;
  • 使用实例:
    remove( 3 '( 1 2 3 4 5 )  ) ;=> ( 1 2 4 5 )
  • 函数说明:
    remove函数不会改变输入list变量的值

remd

  • 函数功能:
    移除输入list中所有与指定值相同的元素,原list被改变
  • 函数用法:
    remd( g_x l_arg ) => l_result
  • 函数输入:
    函数输入g_x为待删除元素值,l_arg为待处理列表;
  • 函数输出:
    函数实现将l_arg中的元素g_x删除操作,原l_arg将会被改变
  • 使用实例:
    icdList = '(1 2 3 4)
    remd(1 icdList)  ; => (2 3 4)
    icdList ; => (2 3 4)
  • 函数说明:
    remd函数会改变输入list变量的值

removeListDuplicates

  • 函数功能:
    删除列表中重复元素,原列表不变
  • 函数用法:
    removeListDuplicates( l_list ) ;=> l_newList
  • 函数输入:
    输入为列表
  • 函数输出:
    输出为删除重复元素的列表
  • 使用实例:
    removeListDuplicates("a" 1 "a" 2 "a" 3 "a" 4) ;=>("a" 1 2 3 4)
  • 函数说明:
    removeListDuplicates函数不改变原list

List元素替换

rplaca

  • 函数功能:
    将输入list中的第一个元素替换为指定值,原list改变
  • 函数用法:
    rplaca( l_arg1 g_arg2 ) ;=> l_result
  • 函数输入:
    函数输入l_agr1为待操作列表,g_arg2为替换值
  • 函数输出:
    函数实现将原列表的第一个元素替换为指定值操作
  • 使用实例:
    x = '(a b c)
    rplaca( x 'd ) => (d b c)
    x => (d b c)
  • 函数说明:
    rplaca函数改变原l_arg1值

rplacd

  • 函数功能:
    将列表l_arg1中出第一个元素以外的其他元素替换为l_arg2中的元素,l_arg1列表改变
  • 函数用法:
    rplacd( l_arg1 l_arg2 ) ;=> l_result
  • 函数输入:
    函数输入为两个列表,l_arg1为待修改列表,l_arg2为待替换的元素值
  • 函数输出:
    函数将l_arg1中除第一个元素以外的其他元素替换为l_arg2中的元素
  • 使用实例:
    x = '(a b c)
    rplacd( x '(d e f)) ;=> (a d e f)
    x ;=> (a d e f)
  • 函数说明:
    rplacd函数改变l_arg1值

setcar

  • 函数功能:
    将输入list中的第一个元素替换为指定值,原list改变,与函数rplaca功能等同
  • 函数用法:
    setcar( l_arg1 g_arg2 ) ;=> l_result
  • 函数输入:
    函数输入l_agr1为待操作列表,g_arg2为替换值
  • 函数输出:
    函数实现将原列表的第一个元素替换为指定值操作
  • 使用实例:
    x = '(a b c)
    setcar( x 'd ) => (d b c)
    x => (d b c)
  • 函数说明:
    setcar函数改变原l_arg1值

setcdr

  • 函数功能:
    函数实现将列表l_arg1中出第一个元素以外的其他元素替换为l_arg2中的元素,l_arg1列表改变,功能与函数rplacd等同
  • 函数用法:
    setcdr( l_arg1 l_arg2 ) ;=> l_result
  • 函数输入:
    函数输入为两个列表,l_arg1为待修改列表,l_arg2为待替换的元素值
  • 函数输出:
    函数实现l_arg1中除第一个元素以外的其他元素替换
  • 使用实例:
    x = '(a b c)
    setcdr( x '(d e f)) ;=> (a d e f)
    x ;=> (a d e f)
  • 函数说明:
    setcdr函数改变l_arg1值

List元素排序

reverse

  • 函数功能:
    函数输出一个新的list,新的list将列表中的所有元素倒序排列,函数不改变原list值
  • 函数用法:
    reverse( l_arg ) ;=> l_result
  • 函数输入:
    函数输入为列表数据类型
  • 函数输出:
    函数输出为一个新的列表,列表元素为倒序排列
  • 使用实例:
    reverse( '(1 2 3) ) ;=> (3 2 1)
    reverse( '(a b (c d) e) ) ;=> '(e (c d) b a)
  • 函数说明:
    reverse不改变原输入l_arg值

sort

  • 函数功能:
    函数将输入列表按指定条件排序,如果指定条件为nil则按字母顺序排序
  • 函数用法:
    sort( l_data u_comparefn ) ;=> l_result
  • 函数输入:
    函数输入l_data为待排序列表,函数u_comparefn为对比函数
  • 函数输出:
    函数输出为l_data经过排序之后的列表
  • 使用实例:
    y = '(c a d b)
    sort(y nil)  ;=> (a b c d)
    y ;=> (a b c d)
  • 函数说明:
    函数改变输入列表l_data的值

免责声明:
1,本公众号主要是交流学习IC设计知识,部分素材源于网络,若有侵权,作者会第一时间修改删除;
2,本公众号标明原创的文章欢迎转载并注明出处;
3,本公众号文章中出现的脚本仅供学习之用,作者不对其他任何个人或组织在使用脚本过程中产生的任何纠纷负责;
4,本公众号的主体为个人,发表文章纯属个人交流学习行为,文章的观点也属个人观点,与作者曾经任职或者正在任职的公司、其他个人或组织没有任何关系;
5,本公众号文章为个人撰写,错误和疏漏之处在所难免,希望大家指正;
6,本公众号发表的文章依赖各种软件,作者所获取的软件仅供学习交流之用,若有侵权,作者将配合删除



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 14

    粉丝
  • 4

    好友
  • 12

    获赞
  • 0

    评论
  • 65

    访问数
关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-14 09:27 , Processed in 0.019007 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部