【问题标题】:howto to join "only" values of a an element of a dictionary of two elements in python list如何加入 python 列表中两个元素的字典的一个元素的“唯一”值
【发布时间】:2023-02-05 03:28:08
【问题描述】:

考虑一个包含字典成员的列表 如下:

txt1 = {
  'k1': 'val1',
  'k2': 14,
  'k3': 5,
  'A':[
       {'i1': 0, 'i2': 'value1'}, 
       {'i1': 2, 'i2': 'value2'}, 
       {'i1': 6, 'i2': 'value3'}, 
       {'i1': 9, 'i2': 'value4'}, 
       {'i1': 11, 'i2': 'value5'}
       ],
  't': 4,
  'l':-1,
  'a': 'G',
  'h': [],
  'd':[],
  'tp':[]}

获取由“value1 value2 ... value5”组成的字符串的最佳方法是什么。我知道如何通过循环来做到这一点?但我想知道是否有捷径可以做到这一点。 感谢您的帮助

【问题讨论】:

  • 您如何定义“最佳方式”?
  • [a['i2'] for a in txt1['A']]

标签: python dictionary


【解决方案1】:
ans = [d['i2'] for d in txt1['A']]
print(' '.join(ans))

输出:value1 value2 value3 value4 value5 我希望那是你想要的。

【讨论】:

    【解决方案2】:

    使用列表理解,如:

    value_list = [a['i2'] for a in txt1['A']]
    

    【讨论】:

    • 谢谢,您的解决方案比我的短。我还认为,由于格式与 json 兼容,所以可能有更好的方法。但我已经接受了回应。
    【解决方案3】:
    my_list = [one_dict['i2'] for one_dict in txt1['A']]
    
    >>> ['value1', 'value2', 'value3', 'value4', 'value5']
    

    For more information on shorthands please refer to this guide on python generator expressions.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      相关资源
      最近更新 更多