【问题标题】:How to use list comprehension to create a list from a dictionary [duplicate]如何使用列表理解从字典中创建列表[重复]
【发布时间】:2020-11-12 08:17:20
【问题描述】:

我有这个对象:

myObj = [{'city':'New York', 'number': 5550}, {'city':'San Francisco', 'number': 0565}]

我如何使用列表推导在下面的列表中仅存储 _city_ 属性:

my_new_list = [ HERE THE LIST COMPREHENSION ]

输出应为:“纽约”、“旧金山”

【问题讨论】:

  • [d['city'] for d in myObj]?
  • 只要记下您在“旧金山”市的最后一个“数字”就会抛出SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

标签: python arrays list object list-comprehension


【解决方案1】:

给你:

my_new_list = [row['city'] for row in myObj]

价值

['New York', 'San Francisco']

【讨论】:

    【解决方案2】:

    试试这个:

    my_new_list = [item['city'] for item in myObj]
    

    第一次是{'city':'New York', 'number': 5550},第二次是{'city':'San Francisco', 'number': 0565}。由于这些是字典,我们可以使用 item['city'] 来访问每个字典中的城市值。

    【讨论】:

    • 赞成。您如何改进它以适应可能缺少的 city 属性?
    • 也许可以试试my_new_list = [item['city'] for item in myObj if item.get('city')]。或者,如果您希望将Nones 保存到列表中,您可以使用my_new_list = [item.get('city') for item in myObj]。此外,dict.get() 的第二个参数是当它找不到请求的键时返回的值,所以如果你希望它保存另一个值到列表中,例如"not available",也可以添加它。跨度>
    猜你喜欢
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 2019-04-05
    • 2019-09-25
    • 2015-05-22
    • 1970-01-01
    • 2018-03-20
    • 2020-03-16
    相关资源
    最近更新 更多