首页 > 其他分享 >基本操作之——tuple增删查改操作

基本操作之——tuple增删查改操作

时间:2024-03-06 18:14:43浏览次数:24  
标签:Tuple default tuple OriginalTuple HDevelop 查改 基本操作 find

1.tuple增加操作——tuple_insert

OriginalTuple := [0,1,2,3,4,5]
* 指定索引处插入一个元素
tuple_insert (OriginalTuple, 3, 'x', InsertSingleValueA)
* HDevelop执行同样操作
InsertSingleValueB := insert(OriginalTuple,3,'x')

 

*
* 指定索引处插入多个元素
tuple_insert (OriginalTuple, 1, ['y','z'], InsertedMultipleValuesA)
* HDevelop执行同样操作
InsertedMultipleValuesB := insert(OriginalTuple,1,['y','z'])

 

*
* 如果插入索引处刚好为tuple的大小,将会在后面追加
tuple_insert (OriginalTuple, 6, ['x','y','z'], AppendedA)
* HDevelop执行同样操作
AppendedB := insert(OriginalTuple,6,['x','y','z'])

 

dev_open_tool ('variable_view', 'default', 'default', 'default', 'default', [], [], ToolId)

 

2.tuple更改操作——tuple_replace 

OriginalTuple := [0,1,2,3,4,5]
* 使用不同值替换多个元素
tuple_replace (OriginalTuple, [0,1], ['x','y'], Replaced1)
* HDevelop执行相同操作
Replaced2 := replace(OriginalTuple,[0,1],['x','y'])

 

*
* 多个元素替换为同一个值
tuple_replace (OriginalTuple, [1,3,5], -111, ReplacedWithOneValue1)
* HDevelop执行相同操作
ReplacedWithOneValue2 := replace(OriginalTuple,[1,3,5],-111)

 

*
* if index > length of Tuple
* -> Tuple will be extended with appropriate default values
* The default value for numeric tuples is 0
tuple_replace (OriginalTuple, 10, 100, Extended1)
* HDevelop执行相同操作
Extended2 := replace(OriginalTuple,10,100)

 


* The default value for string tuples is the empty string ''
tuple_replace (['a','b','c','d','e'], [7,10], ['h','k'], StringsExtended1)
* HDevelop执行相同操作
StringsExtended2 := replace(['a','b','c','d','e'],[7,10],['h','k'])

 dev_open_tool ('variable_view', 'default', 'default', 'default', 'default', [], [], ToolId)

 

 

3.tuple查找——tuple_find

Tuple := [1,2,1,3,1,3,2,5,4,1,8,6]
*
* HDevelop算子速度快于Halcon
*
* 查找单个元素
*
ToFind := 1
*
* 返回所有查找到的索引
IndicesFindA := find(Tuple,ToFind)
tuple_find (Tuple, ToFind, IndicesFindB)
*
* 返回查找到的第一个索引
IndicesFindFirstA := find_first(Tuple,ToFind)
tuple_find_first (Tuple, ToFind, IndicesFindFirstB)
*
* 返回查找到的最后一个索引
IndicesFindLastA := find_last(Tuple,ToFind)
tuple_find_last (Tuple, ToFind, IndicesFindLastB)
*
*
* 查找单个元素的替代方法是将tuple_equal_elem与 tuple_select_mask 一起使用
SelectMaskA := select_mask([0:|Tuple| - 1],Tuple [==] ToFind)
tuple_equal_elem (Tuple, ToFind, EqualB)
tuple_select_mask ([0:|Tuple| - 1], EqualB, SelectMaskB)
*
* 查找子tuple
*
ToFind2 := [1,3]
*
* find
IndicesFindSubA := find(Tuple,ToFind2)
tuple_find (Tuple, ToFind2, IndicesFindSubB)
*
* find_first
IndicesFindFirstSubA := find_first(Tuple,ToFind2)
tuple_find_first (Tuple, ToFind2, IndicesFindFirstSubB)
*
* find_last
IndicesFindLastSubA := find_last(Tuple,ToFind2)
tuple_find_last (Tuple, ToFind2, IndicesFindLastSubB)
*
*
*
* 对于不存在的元素,tuple_find运算符返回 -1*
NotFoundA := find(Tuple,9)
tuple_find (Tuple, 9, NotFoundB)
dev_open_tool ('variable_view', 'default', 'default', 'default', 'default', [], [], ToolId)

 

4.索引选取子tuple——tuple_select_mask

IntTuple := [0,1,2,3,4,5]
StringTuple := ['abcd','defg','ghij']
*
* 选择得到一个子tuple
tuple_select_mask (IntTuple, [0,1,0,1,0,1], SelectSome1)
* HDevelop执行同样效果
SelectSome2 := select_mask(IntTuple,[0,1,0,1,0,1])
*
* 选择所有元素构建新tuple
tuple_select_mask (IntTuple, [1,1,1,1,1,1], SelectAll1)
* HDevelop执行同样效果
SelectAll2 := select_mask(IntTuple,[1,1,1,1,1,1])
*
* 只选择一个元素构建新的tuple
tuple_select_mask (StringTuple, [0,0,1], SelectOne1)
*HDevelop执行同样效果
SelectOne2 := select_mask(StringTuple,[0,0,1])
dev_open_tool ('variable_view', 'default', 'default', 'default', 'default', [], [], ToolId)

 

标签:Tuple,default,tuple,OriginalTuple,HDevelop,查改,基本操作,find
From: https://www.cnblogs.com/echo-efun/p/18057099

相关文章

  • 基本操作之——tuple类型
    *此示例演示如何使用运算符tuple_type,*tuple_is_int、tuple_is_real、tuple_is_string、*tuple_is_mixed和元素运算符*tuple_type_elem、tuple_is_int_elem、tuple_is_real_elem、*和tuple_is_string_elem。*此外,此示例还演示了如何使用强制转换(例如tuple_int)优化元组以加......
  • 基本操作之——正则表达式
    1.定义*允许0次或多次重复+允许1次或多次重复?允许0次或1次重复{n,m}允许n到m次重复{n}允许n次重复^ 匹配字符串开头$ 匹配字符串结尾.匹配除换行符外所有字符2.事例*正则表达式基本操作tuple_regexp_match('abba','ab*',Match......
  • 基本操作之——Unicode编码
    自版本18.11后,支持UTF-81.字符转Unicode码tuple_ord('s',Ord)dev_clear_window()dev_disp_text('\'s\'的Unicode码为'+Ord,'window','center','center','black','box_color','#00ffffc0......
  • 基本操作之——字符截取操作
    *字符截取操作 String1:='abcdefghij'String2:='0123456'Message:='字符截取操作'Message[1]:='String1:=\'abcdefghij\''Message[2]:='String2:=\'0123456\''dev_clear_window()dev_disp_te......
  • 基本操作之——多维空间欧几里得距离距离计算及标量积计算
    dev_clear_window()dev_disp_text('欧几里得距离计算','window',200,200,'black','box_color','#00ffffc0')V1:=[18.8,132.4,33,19.3]dev_disp_text('V1='+V1,'window',220,200,'black',......
  • 基本操作之——正弦函数绘制
    1.周期为2pi正弦函数绘制dev_close_window()dev_open_window(0,0,512,512,'black',WindowID)dev_set_part(0,0,511,511)old_x:=0old_y:=0Rate:=1dev_set_color('red')forx:=1to511by4y:=-sin(x/511.0*2*3.1416*Rate......
  • 基本操作之——位运算
    dev_clear_window()dev_disp_text('数128位左移两位为'+lsh(128,2),'window','center','center','black','box_color','#00ffffc0') dev_clear_window()dev_disp_text('数128位右移两位为'+rsh(12......
  • 基础操作之——tuple基本操作
    Tuple1:=[1,2,3,4,5]Number:=|Tuple1|dev_clear_window()dev_disp_text('Tuple1:=[1,2,3,4,5]'+'大小为'+Number,'window','center','center','black','box_color','#00ffffc0')......
  • matlab教程_台大lecture1基本操作和矩阵输入
    matlab教程视频matlabascalculatorcommendline直接用命令行计算部分ans是结果运算法则和平时一样((),^乘除加减)onlinehelpeg:helpsin&直接搜索嵌套式公式sin(cos(pi))==cos(pi)sin(ans)其中,ans是第一个的结果变量可以用who查看变量,whos详细信息一些保留......
  • Different Subsets For All Tuples (数学)
    DifferentSubsetsForAllTuples数学题面有一个长度为\(n\)的数列,每个位置上数字的值在\([1,m]\)范围内,则共有\(m^n\)种可能的数列。分别求出每个数列中本质不同的子序列个数(包含空序列),然后求和,答案对\(10^9+7\)取模。(\(1\len,m\le10^6\))数据范围$1<=n,m<=10^{6}$解法......