相关疑难解决方法(0)

从Python列表中过滤元素?

我想从列表列表中过滤元素,并使用lambda迭代每个元素的元素.例如,给定列表:

a = [[1,2,3],[4,5,6]]
Run Code Online (Sandbox Code Playgroud)

假设我只想保留列表总和大于N的元素.我尝试写:

filter(lambda x, y, z: x + y + z >= N, a)
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

 <lambda>() takes exactly 3 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

如何在将每个元素的值分配给x,y和z时进行迭代?像zip这样的东西,但对于任意长的列表.

谢谢,

ps我知道我可以使用:filter(lambda x:sum(x)...,a)来写这个,但这不是重点,想象这些不是数字而是任意元素,我想将它们的值赋给变量名.

python list-comprehension list

9
推荐指数
2
解决办法
3万
查看次数

列表理解和条件?

我试图看看是否可以使用列表推导更好地使这些代码.
可以说我有以下列表:

a_list = [
        'HELLO',
        'FOO',
        'FO1BAR',
        'ROOBAR',
        'SHOEBAR'
        ]

regex_list =   [lambda x: re.search(r'FOO', x, re.IGNORECASE),
                lambda x: re.search(r'RO', x, re.IGNORECASE)]
Run Code Online (Sandbox Code Playgroud)

我基本上想要将所有没有任何匹配的元素添加regex_list到另一个列表中.

例如==>

newlist = []
for each in a_list:
    for regex in regex_list:
        if(regex(each) == None):
            newlist.append(each)
Run Code Online (Sandbox Code Playgroud)

如何使用列表推导来完成此操作?它甚至可能吗?

python list-comprehension list

7
推荐指数
1
解决办法
7474
查看次数

标签 统计

list ×2

list-comprehension ×2

python ×2