【问题标题】:Check list of tuples where first element of tuple is specified by defined string检查元组的第一个元素由定义的字符串指定的元组列表
【发布时间】:2016-06-04 06:03:14
【问题描述】:

此问题类似于Check that list of tuples has tuple with 1st element as defined string,但没有人正确回答“通配符”问题。

假设我有[('A', 2), ('A', 1), ('B', 0.2)]

我想识别第一个元素是 A 的元组。如何只返回以下内容?

[('A', 2), ('A', 1)]

【问题讨论】:

    标签: python list tuples wildcard elements


    【解决方案1】:

    使用列表推导:

    >>> l = [('A', 2), ('A', 1), ('B', 0.2)]
    >>> print([el for el in l if el[0] == 'A'])
    [('A', 2), ('A', 1)]
    

    【讨论】:

      【解决方案2】:

      您可以使用 Python 的 filter 函数,如下所示:

      l = [('A', 2), ('A', 1), ('B', 0.2)]
      print filter(lambda x: x[0] == 'A', l)
      

      给予:

      [('A', 2), ('A', 1)]
      

      【讨论】:

      • 很好地使用了过滤器和 lambda 函数。谢谢!并感谢您将链接添加到另一个问题!我以后会这样做……(菜鸟错误)。
      【解决方案3】:

      足够简单的列表理解:

      >>> L = [('A', 2), ('A', 1), ('B', 0.2)]
      >>> [(x,y) for (x,y) in L if x == 'A']
      [('A', 2), ('A', 1)]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-23
        • 1970-01-01
        • 2019-04-19
        • 1970-01-01
        相关资源
        最近更新 更多