【问题标题】:How can I access elements inside a list within a dictionary python?如何访问字典 python 中列表内的元素?
【发布时间】:2015-07-05 02:16:12
【问题描述】:

我有一个返回 json 格式数据集的函数。这是一个示例:

[{u'category': [u'Transfer', u'Withdrawal', u'ATM'], u'category_id': u'21012002', u'_account': u'XARE85EJqKsjxLp6XR8ocg8VakrkXpTXmRdOo', u'name': u'ATM Withdrawal', u'amount': 200, u'meta': {u'location': {u'city': u'San Francisco', u'state': u'CA'}}, u'date': u'2014-07-21', u'score': {u'location': {u'city': 1, u'state': 1}, u'name': 1}, u'_id': u'0AZ0De04KqsreDgVwM1RSRYjyd8yXxSDQ8Zxn', u'type': {u'primary': u'special'}, u'pending': False}] 

for trans in foodie_data:
            print 'Name={},Amount={},Date={}, Categories ={}\n'.format(trans['name'],trans['amount'],trans['date'],trans['category'])

这个脚本打印:

Name=ATM Withdrawal,Amount=200,Date=2014-07-21,Categories=[u'Transfer', u'Withdrawal', u'ATM']

我希望它以字符串而不是列表的形式返回类别:

Name=ATM Withdrawal,Amount=200,Date=2014-07-21,Categories='Transfer, Withdrawal,ATM']

这样做最有效的方法是什么?

【问题讨论】:

  • ', '.join(trans['category'])?

标签: python json list dictionary


【解决方案1】:

您也可以直接使用str.format 来访问其他值:

for trans in foodie_data:
    print "Name={name},Amount={amount},Date={date}," \
       "Categories='{}'\n".format(",".join(trans["category"]),**trans)


 Name=ATM Withdrawal,Amount=200,Date=2014-07-21,Categories='Transfer,Withdrawal,ATM'

【讨论】:

    【解决方案2】:

    你的代码中的两个快速修复应该可以解决它

    1. 加入以逗号分隔的trans['category'] 返回的列表,使其成为字符串而不是列表的字符串表示形式。
    2. 引用category 的格式说明符,即Categories =\'{}\'

      for trans in foodie_data:
          print 'Name={},Amount={},Date={}, Categories =\'{}\'\n'.format(
          trans['name'],
          trans['amount'],
          trans['date'],
          ', '.join(trans['category']))
      

    【讨论】:

      【解决方案3】:

      您可以加入类别的元素:

      >>> categories = [u'Transfer', u'Withdrawal', u'ATM']
      >>> ",".join(categories)
      u'Transfer,Withdrawal,ATM'
      

      并在打印输出时使用它:

      ",".join(trans['category'])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-13
        • 1970-01-01
        • 1970-01-01
        • 2022-10-04
        • 1970-01-01
        • 2023-04-06
        • 2021-07-27
        • 1970-01-01
        相关资源
        最近更新 更多