【发布时间】:2017-10-01 10:36:28
【问题描述】:
这是问题:
“编写一个函数 find_all(L, i),它接受一个嵌套列表 L 和一个项目 i 和,打印L 中所有出现的 i 的索引。
什么:
from string import *
def find_all(L,i):
for sub_list in L:
if i in sub_list:
return (L.index(sub_list), sub_list.index(i))
print find_all([[1,2,3],[4,5],[6],[5,13]], 5)
输出只有 (1,1)。
【问题讨论】:
-
好吧,当你偶然发现第一个有效结果时,你就是
returning,这显然不是你所需要的。此外,标题具有误导性,因为您实际上并没有“制作”任何嵌套列表。 -
除了ForceBru提到的问题,你需要改变你的逻辑,让它处理L中包含
i的重复子列表,或者i在子列表中重复。提示:如果您使用enumerate,您将不需要进行效率低下的L.index(sub_list)搜索。 -
from string import的(无效)是什么?