作者lattes (逢甲路黑天鵝)
看板Python
標題[問題] 多個串列資料索引問題
時間Wed Jan 3 16:48:51 2018
各位好 小弟是個超級新手 對於很多函式邏輯概念都十分不足
最近在練習一些研究上有幫助的程式撰寫
FID0=["A6713-0044-00", "A6713-03-004", "A6713-03", "67000130", "67000"]
FID1=["A6706-0169-00", "A6706-10-004", "A6706-10", "67000060", "67000"]
FID2=["A6704-0124-00", "A6704-07-007", "A6704-07", "67000040", "67000"]
FID3=["A6701-0425-00", "A6701-27-006", "A6701-27", "67000010", "67000"]
FID4=["A6706-0182-00", "A6706-10-005", "A6706-10", "67000060", "67000"]
FID5=["A6702-0221-00", "A6702-11-003", "A6702-11", "67000020", "67000"]
我的資料中有多個list
想做的部分為輸入一個值 在多個串列中索引 並回傳其list名稱與位置(index)
k="A6702-0221-00"
for i in range(6):
str("FID"+str(i)).index(k)
print ((str("FID"+str(i))).index(k))
目前嘗試用迴圈創造list名稱並放入index中
但不知是語法錯誤還是我概念不正確
得到ValueError: substring not found 資料無法索引到的訊息
先在此感謝各位大神的回答 並請鞭小力些 小弟虛心求教
另外想詢問若匯入的資料為更多筆數 該如何自動取得總筆數並做出相對應的索引
或是有更好的索引方式能夠使用
補充: 需要得到索引位置是因為後續想要能回傳下一個位置的值
例:輸入"A6706-0182-00" 得到"A6706-10-005"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.29.192.212
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1514969333.A.CC6.html
→ AlaRduTP: 因為你寫的是 str().index() 不是 list().index() 01/03 17:48
→ AlaRduTP: 意思是 "FID0" 終究是個字串物件,就算這個字串的內容和 01/03 17:52
→ AlaRduTP: list 的名稱一樣,它們還是不同的東西。 01/03 17:52
→ lattes: 請問A大有什麼建議的修改方式嗎 有沒有方法能夠將字串 01/04 08:37
→ lattes: 轉換為LIST名稱QQ 或是有其他的索引方式能夠一次索引全部 01/04 08:38
→ lattes: 資料 01/04 08:38
→ tedwu2001: 用dictionary存 01/04 13:13
→ lattes: 請問tedwu指的是 dict={"FID0":[""],"FID1":[""]}這樣嗎~ 01/04 13:53
→ tedwu2001: 精神上是,key不太確定你到底有沒有需要FIDX就自行調整 01/04 14:54
→ lattes: tedwu大 可以請教一下這樣建立後 應該用什麼方式索引嗎 01/04 15:04
→ tedwu2001: 應該可以瞭解要調整key的原因 01/04 15:26
→ lattes: 萬分感謝tedwu大大 目前我對於函式的了解還無法寫出這樣的 01/04 15:39
→ lattes: 東西,我會再研究一下t大給我的資訊做修改 01/04 15:40
→ lattes: 也感謝A大提醒我字串跟list名稱本質是不相同的問題 01/04 15:41
→ AlaRduTP: 如果不想動原來的那些 list,也可以再開一個 list ,裡 01/04 18:58
→ AlaRduTP: 面放 FID0, FID1, ..., FID5 (要注意的是,不是放 "FID0 01/04 18:58
→ AlaRduTP: ",因為要的是 list 而非 str),再用 for 迭代。 01/04 18:58
→ ddchris: 直接呼叫並傳入要搜尋的字串,不知是不是符合你的需求? 01/04 22:51