當前位置:成語大全網 - 書法字典 - 從兩個表中提取不同元素的LUA算法。

從兩個表中提取不同元素的LUA算法。

我明白妳的意思。

是不是要把T_letter_tbl中所有元素的字母標簽都匹配成?對比hope_letter_tbl中的元素,發現重復就刪除T_letter_tbl中的重復標簽?

壹般來說,用lua很容易做到這壹點,但要註意方法,不要比較,這樣遍歷效率太低。首先,要比較的表的元素被用作建立散列的索引。

直接取元素進行標簽判斷,

下面是演示:table.print用戶自定義輸出,可以刪除,可以選擇自己的輸出方式。

功能?表格.打印?(?tbl,?名字?)

名字?=?名字?還是?"表格"

本地的?提示?=?'?'

本地的?我?=?1

本地的?印刷的?=?{}

本地的?功能?tostring2?(?var?)

如果?(類型(?var)?==?“弦”?)?然後

回歸?'"'?..var?..'"'

結束

回歸?tostring(var?)

結束

本地的?功能?itor?(?t?,?我?)

印刷的[?tostring(?t)]?=?真實;

為了什麽?鑰匙?,?ele?在?對子?(t?)?做

如果?不是嗎?(類型(?ele)?==?“桌子”?)?然後

打印(?字符串?。格式化(' %s[%s]?=?“% s;”?,?string.rep(?提示,?我?),?tostring2?(?鑰匙?),tostring2?(ele?))?)

埃爾瑟夫?印刷的?【tostring(?ele)]?然後

打印(?字符串?。格式化(' %s[%s]?=?“% s;”?,?string.rep(?提示,?我?),?tostring2?(?鑰匙?),tostring2?(ele?))?)

其他

打印(?字符串?。格式化(' %s[%s]?=?{'?,?string.rep(?提示,?我?),?tostring2?(?鑰匙?))?)

我?=?我?+?1

itor(?ele,?我)

我?=?我?-?1

打印(?字符串?。格式(' % s };'?,?string.rep(?提示,?我?))?)

結束

結束

結束

打印(?string.format(?" %s?=?{"?,?名字?)?)

itor(?tbl,?我)

打印(" };"?)

結束

-

tbl _信_望?=?{

[1]?=?”bbbbbb”;

[2]?=?“ffffff”;

[3]?=?”cccccc”;

[4]?=?“XXXXXX”;

[5]?=?”eeeeee”;

};

tbl_letter_T?=?{

[1]?=?{["信"]?=?“Y”};

[2]?=?{["信"]?=?" M " };

[3]?=?{["信"]?=?“P”};

[4]?=?{["信"]?=?“K”};

[5]?=?{["信"]?=?" bbbbbb " };

[6]?=?{["信"]?=?" R " };

[7]?=?{["信"]?=?“Q”};

[8]?=?{["信"]?=?“XXXXXX”};

[9]?=?{["信"]?=?“L”};

[10]?=?{["信"]?=?" D " };

[11]?=?{["信"]?=?“B”};

[12]?=?{["信"]?=?" ffffff " };

[13]?=?{["信"]?=?“Z”};

[14]?=?{["信"]?=?“T”};

[15]?=?{["信"]?=?"["};

[16]?=?{["信"]?=?“cccccc”};

[17]?=?{["信"]?=?“E”};

[18]?=?{["信"]?=?" C " };

[19]?=?{["信"]?=?“W”};

[20]?=?{["信"]?=?“我”};

[21]?=?{["信"]?=?“F”};

[22]?=?{["信"]?=?“eeeeee”};

[23]?=?{["信"]?=?“O”};

[24]?=?{["信"]?=?" X " };

[25]?=?{["信"]?=?“U”};

[26]?=?{["信"]?=?" S " };

};

- ?根據?tbl _信_望?元素在?移除?tbl_letter_T?元素在

- ?

本地的?功能?主要?()

本地的?tbl_erase?=?{}

為了什麽?關鍵,?ele?在?pairs(tbl_letter_HOPE)?做

- ?不考慮?元素重量是多少?改成?=?真實的

tbl_erase[tostring(ele)]?=?(tbl_erase[tostring(ele)]?還是?0)?+?1?

結束

為了什麽?關鍵,?ele?在?pairs(tbl_letter_T)?做

如果?tbl_erase[ele.letter]?然後

- ?移除?整條線?[12]?=?{["信"]?=?" ffffff " };

tbl_letter_T[key]?=?無

- ?還是?壹個標簽?信

- tbl_letter_T[key]。信?=?無

結束

結束

表格.打印(tbl_letter_T)

結束

開始時間?=?os.time()

主()

打印(?string . format(" & gt;& gt?這個?功能?成本:?%s?“,,女士?tostring(os.time()-startTime)?)?)附上

如果您只想在刪除給定元素後獲取表

可以先復制原tbl_letter_T。

註意:

不要輕易抄襲自己之前的代碼。也許妳只是想復制壹份TBL的信

但是使用淺層復制呢?這相當於只將句柄復制到表中。

tbl_Interim?=?tbl_letter_T -?兩個變量指向同壹個?需要使用表格表格

為了什麽?關鍵,?ele?在?pairs(tbl_letter_T)?做

tbl_Interim?【關鍵】?=?ele

結束