看板 Python 關於我們 聯絡資訊
各位好 想要請教在假設為 [a,a,b,a,b,c,b,a,b,c,d,b,c,d] 的數列(目前是做成pandas series)中, 想要找出[a,b,c]的所有排列位置時, 有什麼函數可以取用嗎? 寫了一個比較兩個數列的流程, 結果上司說要比較的pattern 不是只有一個 而且會很類似(例如還要找[a,b,a,c]之類的), 所以想要找有沒有比較好的方法 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 126.200.117.71 (日本) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1616112712.A.115.html
melancholy07: 一般的方法好像都是找特定的element,但如果你要找 03/19 09:28
melancholy07: 的是連續幾個特定元素組成的pattern,我想可以嘗試 03/19 09:28
melancholy07: 把list轉成字串再做搜尋 03/19 09:28
razer: 好的,我再來試試看 03/19 13:57
razer: 可惜,我的element是不定長度的字串,再拼成總和字串就找 03/19 15:40
razer: 不到位置了 03/19 15:40
melancholy07: 利用.join(),並讓你的字串保持分隔試試?這樣同個 03/19 17:21
melancholy07: 字串間的元素仍可以用特定字元作分隔,不會混在一 03/19 17:21
melancholy07: 起 03/19 17:21
razer: 當然join是個好方法,不過假定我用逗號分隔,代表我後面要 03/20 06:53
razer: 反算出現在是在哪個逗號後面,然後他是第幾個逗號是嗎? 03/20 06:53
melancholy07: 順著這個思路,就可以用find找出pattern的index, 03/20 10:56
melancholy07: 或利用re套件作更方便的檢索了 03/20 10:56