Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在列表中的列表中查找x_Python_List - Fatal编程技术网

Python 如何在列表中的列表中查找x

Python 如何在列表中的列表中查找x,python,list,Python,List,我怎样才能做到这一点。显然,我可以通过以下方式找到“生命的意义”: a_list = [1,2,3,4,[42,'Meaning of life']] def some_function('Meaning of life') # insert code here return 42 现在,如果元素在列表中,那么如何找到它旁边的元素 我特别让我的代码在第一个值或整数之后用字符串附加该列表中的所有内容。如果目标项位于子列表的开头,该怎么办?是否应返回子列表之前的元素?如果该元素是另一个子列表呢?应

我怎样才能做到这一点。显然,我可以通过以下方式找到“生命的意义”:

a_list = [1,2,3,4,[42,'Meaning of life']]
def some_function('Meaning of life')
# insert code here
return 42
现在,如果元素在列表中,那么如何找到它旁边的元素


我特别让我的代码在第一个值或整数之后用字符串附加该列表中的所有内容。

如果目标项位于子列表的开头,该怎么办?是否应返回子列表之前的元素?如果该元素是另一个子列表呢?应该返回整个子列表还是只返回最后一个元素?(
[1,2,3,4],“生命的意义”]
例如,那里应该发生什么?)。这个问题定义得很糟糕,您编写的代码甚至不能在嵌套列表上工作。@Lattyware--发布的代码在任何地方都不能工作。。。如果我没有弄错的话,它应该会引发
SyntaxError
:)我特别让我的代码在列表中的所有内容后面加上第一个值或整数后面的字符串。够了吗?你知道你想做什么吗?你想让你的代码神奇地知道你要提取列表中的哪一项吗?获取嵌入列表中的项目不是问题,返回包含您正在搜索的项目的列表不是问题,但是让函数在您想要的项目“旁边”返回一个数字,神奇地,没有用于执行此操作的参数。。。不太可能,试着想想你想做什么,询问一下,而不是在你认为是一个好的实现方面寻求帮助。虽然我不理解你的规范,但我可以告诉你可能有错误的数据结构,需要修复它,而不是解决它。也许你可以告诉我们更多关于你的问题。谢谢!:最后有人给出了答案。不客气。但我必须警告您,在维护给定结构时,此函数将工作,否则它可能很容易引发异常。请记住@StevenRumbalski的评论。
for i in a_list:
    if i == "Meaning of life":
        print i
>>> def search(needle, haystack):
        for element in haystack:
            if not isinstance(element, list):
                if element == needle:
                    return True
            else:
                found = search(needle, element)
                if found:
                    return element[0]

>>> a_list = [1,2,3,4,[42,'Meaning of life']]
>>> print search('Meaning of life', a_list)
42
>>> print search('Anything else', a_list)
None