| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
name_list = [['a','b','c'],['d','e','f'],['g','h','j'],['da','y'] 
假如这个嵌套列表中有很多数据,我想要取'e‘这个数据,但我也不知道它存不存在,也不知道它放在那个位置,我要怎么才能判断它存不存在?怎么找到它?求大神帮助
以下程序兼容各种数据类型查找, 如果仅仅为了查找字符串可能由更好的方式 - name_list = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'j'], ['da', 'y'], "b"]
 
  
- def depth_find(a_list, obj, index=""):
 
 -     """
 
 -     本函数取值是按照先广度查找, 后深度查找. 如果没有找到则返回None
 
 -     :param a_list: 查找的列表
 
 -     :param obj: 查找元素
 
 -     :return: str, 用来表示索引位置. ".0.1.4"可以用a_list[0][1][4]取到obj值
 
 -     """
 
 -     try:
 
 -         i = a_list.index(obj)
 
 -         return index + "." + str(i)
 
 -     except ValueError:
 
 -         for i, value in filter(lambda x: isinstance(x[1], list), enumerate(a_list)):
 
 -             son_index = depth_find(value, obj, index + "." + str(i))
 
 -             if son_index:
 
 -                 return son_index
 
  
 
- print(depth_find(name_list, "z"))
 
 
  复制代码 
 
 
 |   
 
 
 
 |