|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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"))
复制代码
|
|