
文章插圖
我們知道,排序功能,List中有、Table中也有,單純的數(shù)字排序在我們這個問題沒用意義,我們需要生成一列于字符串等長的隨機數(shù),然后通過表格排序隨機數(shù),實現(xiàn)字符的隨機排列 。
我們會用到函數(shù):
· Text.ToList:將字符串變成列表
· List.Random:生成隨機數(shù)列表
· List.Count:列表元素計數(shù)
· Table.Sort:表排序
· Text.Combine:文本合并
這過程中,還需要有表格轉(zhuǎn)換函數(shù),是使用Recoard.ToTable、還是Table.FormColumns?
Recoard.ToTable我們用字符作為Record的Name,隨機數(shù)作為Record的Value,然后轉(zhuǎn)換成表格,排序?qū)崿F(xiàn)隨機排列,下面分步來做:
Text.ToList:
同樣長度的隨機數(shù)列表:
組成Record:
轉(zhuǎn)成表格:
Value列排序:
提取Name列合并文本:
似乎很順利就完成了,字符串內(nèi)部的亂序,我們修改一下數(shù)據(jù)源看看:
看看能不能實現(xiàn)亂序:
“無邊落木蕭蕭下”,Record的Name不能重復,所以報錯 。
所以上面的過程適合非重復字符串的亂序 。如果有重復的字符,我們還需要修改我們的過程 。
添加列的方式行不通,我做過測試,先把字符列表轉(zhuǎn)換成表格,然后添加隨機數(shù)列,即使指定了數(shù)據(jù)類型,也無法實現(xiàn)排序:
所以這個隨機數(shù)列,需要在組表之前就生成,不能后添加 。
Table.FormColumns用之前做過的字符串列表與隨機數(shù)列表組成表格:
排序:
我們整理一下,把文本合并:
即使是標點符號重復,也不要緊,都能實現(xiàn)整個字符串內(nèi)的字符隨機排列 。
我們總結(jié)一下,最后這種方法更通用一些,要注意的地方就是隨機數(shù)的生成,必須是在表格生成之前,如果是后添加的隨機數(shù)列,不能排序,具體啥原因咱也不了解 。
以上關于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 圖 彼岸花的真正故事:因開和落各一千年則永不相見
- 360和火絨到底誰更好用 火絨安全和360哪個好
- 全文 黑芝麻的7大功效和作用介紹
- 圖 唐宋八大家是哪八位:名字及簡介和代表作品
- 跳繩和跑步哪個效果好呢?
- 防火玻璃和鋼化玻璃的區(qū)別
- 瑪卡有哪些功效和辨別方法 瑪咖片的功效與作用
- apec是什么組織和你我生活有啥關系?
- 戶籍和生源地有什么區(qū)別? 戶籍地址是填什么地址
- 老婆和別的男人開房被抓 求我去救她
