如何用最简便的方法查找list中的list的值?--[已解决]

如何用最简便的方法查找list中的list的值?--[已解决]

这个问题有点绕口。实际上是这样的:

假设现有list y = [[1,2],3,4]
y的第一个值也是一个list

再假设有个值x=1
那么x in y返回的就是假,找不到

当然可以用循环,但是觉得那样太不python了

于是到下面的方法:

[i for i in y if (x in i)]
遗憾的是系统报错

后来有想到下面的方法:

def f(x): return (1 in x)
filter(f, y)

但还是不成功。

请问除了循环还有更简洁的方法吗?

谢谢!

在f(x)中应该对x判断一下类型,如果为list则使用in如果为int则使用==
另外1建议也是一个可以传入的参数。
>>> y[0][0]
1
[i for i in y if (type(i) == list) and (1 in i)]

是这个意思吗?
回2楼:
谢谢你提供宝贵的思路!

回3楼:
我不是想找这个内容,而是想判断一个值是否在list中的list中。呵呵。。。谢谢了!

回4楼:
就是我想要的,我一直以为我语法有问题,老报错,原来是要这样用的。。。谢谢!