【问题标题】:Counting how many times there are blank lists in a list of list [closed]计算列表列表中有多少次空白列表[关闭]
【发布时间】:2020-07-04 18:47:43
【问题描述】:

我有一个清单:

l = [['a', []], ['b', []], ['c', []], ['d', ['e']], ['f', []], ['g', ['h']], ['i', ['j']]]

我想计算有多少列表在第一个元素旁边有元素 []。 例如,在这个列表中,我们有 4 个列表,它们的第一个元素旁边有一个空白列表。

另一个例子可能是:

l2 = [['a', []], ['b', []], ['c', []], ['d', ['e', 'f']], ['g', ['h', 'i']], ['j', ['k', 'l']], ['m', ['n', 'o']]]

这里我们有 3 个列表,其中的元素是列表的第一个元素旁边的 []。

I tried doing something like, but it returns 0
`````````````
def counting(l):
    c = sum(x.count("[]")for x in L)
    return c

【问题讨论】:

  • "[]" 只是一个 string 的开始和结束括号。 [] 是一个空列表。更正您的拼写错误,sum(x.count([]) for x in l) 工作正常。

标签: python list recursion


【解决方案1】:

这是一个满足您需求的单行解决方案

def counting(l):
    return sum(x.count([]) for x in l)

【讨论】:

  • 没有必要重新发明list.count方法。这是完全相同的行为,但速度较慢。
  • 你是对的@MisterMiyagi
【解决方案2】:

由于您要求空列表位于每个列表中的第一个元素之后,因此这将起作用。已更新。

sum([1 for x in l if x[1]==[]])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 2011-08-04
    • 2018-11-10
    • 1970-01-01
    相关资源
    最近更新 更多