【问题标题】:How do I use comprehension to make a list of values from a dictionary in python如何使用理解从 python 中的字典中创建值列表
【发布时间】:2020-01-25 06:15:39
【问题描述】:
{'AAPL': (175.96, 'Apple Inc'),
 'GOOGL': (0.00475, 'Alphabet Inc'),
 'TVIX': (0.0045, 'Credit Suisse AG')}

如何提取以下列表:Apple InAlphabet IncCredit Suisse AG

【问题讨论】:

    标签: python dictionary list-comprehension


    【解决方案1】:

    使用这个列表理解:

    print([i[1] for i in yourdictionary.values()])
    

    输出:

    ['Apple Inc', 'Alphabet Inc', 'Credit Suisse AG']
    

    附注将yourdictionary 更改为字典的实际名称。

    【讨论】:

      【解决方案2】:
      l={'AAPL': (175.96, 'Apple Inc'), 'GOOGL': (0.00475, 'Alphabet Inc'),
      'TVIX': (0.0045, 'Credit Suisse AG')} 
      out=[]  
      for k,v in l.items():
           make_list=list(v)
           out.append(make_list[1])
      print(out)
      

      希望对你有用

      【讨论】:

      • make_list=list(v) 完全没有必要。只需out.append(v[1]) 就足够了。
      【解决方案3】:

      还可以使用元组解包从每个元组中选择第二项:

      >>> d = {'AAPL': (175.96, 'Apple Inc'),
      ...  'GOOGL': (0.00475, 'Alphabet Inc'),
      ...  'TVIX': (0.0045, 'Credit Suisse AG')}
      >>> [y for _, y in d.values()]
      ['Apple Inc', 'Alphabet Inc', 'Credit Suisse AG']
      

      甚至是使用operator.itemgetter()map() 的函数式方法:

      >>> from operator import itemgetter
      >>> list(map(itemgetter(1), d.values()))
      ['Apple Inc', 'Alphabet Inc', 'Credit Suisse AG']
      

      【讨论】:

        猜你喜欢
        • 2018-03-30
        • 2020-03-16
        • 2020-11-12
        • 1970-01-01
        • 1970-01-01
        • 2019-01-16
        • 2016-06-09
        • 2020-03-07
        • 1970-01-01
        相关资源
        最近更新 更多