作者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://webptt.com/cn.aspx?n=bbs/Python/M.1514969333.A.CC6.html
1F:→ AlaRduTP: 因为你写的是 str().index() 不是 list().index() 01/03 17:48
2F:→ AlaRduTP: 意思是 "FID0" 终究是个字串物件,就算这个字串的内容和 01/03 17:52
3F:→ AlaRduTP: list 的名称一样,它们还是不同的东西。 01/03 17:52
4F:→ lattes: 请问A大有什麽建议的修改方式吗 有没有方法能够将字串 01/04 08:37
5F:→ lattes: 转换为LIST名称QQ 或是有其他的索引方式能够一次索引全部 01/04 08:38
6F:→ lattes: 资料 01/04 08:38
7F:→ tedwu2001: 用dictionary存 01/04 13:13
8F:→ lattes: 请问tedwu指的是 dict={"FID0":[""],"FID1":[""]}这样吗~ 01/04 13:53
9F:→ tedwu2001: 精神上是,key不太确定你到底有没有需要FIDX就自行调整 01/04 14:54
10F:→ lattes: tedwu大 可以请教一下这样建立後 应该用什麽方式索引吗 01/04 15:04
12F:→ tedwu2001: 应该可以了解要调整key的原因 01/04 15:26
13F:→ lattes: 万分感谢tedwu大大 目前我对於函式的了解还无法写出这样的 01/04 15:39
14F:→ lattes: 东西,我会再研究一下t大给我的资讯做修改 01/04 15:40
15F:→ lattes: 也感谢A大提醒我字串跟list名称本质是不相同的问题 01/04 15:41
16F:→ AlaRduTP: 如果不想动原来的那些 list,也可以再开一个 list ,里 01/04 18:58
17F:→ AlaRduTP: 面放 FID0, FID1, ..., FID5 (要注意的是,不是放 "FID0 01/04 18:58
18F:→ AlaRduTP: ",因为要的是 list 而非 str),再用 for 迭代。 01/04 18:58
20F:→ ddchris: 直接呼叫并传入要搜寻的字串,不知是不是符合你的需求? 01/04 22:51