在python中创建对象属性列表

Ed.*_*Ed. 10 python

我有一个对象列表:

[Object_1, Object_2, Object_3]
Run Code Online (Sandbox Code Playgroud)

每个对象都有一个属性:time:

Object_1.time = 20
Object_2.time = 30
Object_3.time = 40
Run Code Online (Sandbox Code Playgroud)

我想创建一个时间属性列表:

[20, 30, 40]
Run Code Online (Sandbox Code Playgroud)

获得此输出的最有效方法是什么?它不能迭代对象列表,对吧?:

items = []
for item in objects:
    items.append(item.time)
Run Code Online (Sandbox Code Playgroud)

mha*_*wke 27

列表理解是你所追求的:

list_of_objects = [Object_1, Object_2, Object_3]
[x.time for x in list_of_objects]
Run Code Online (Sandbox Code Playgroud)

  • 什么?就在这里.列表理解循环是在C端完成的,这比Python循环要快得多.任何实现都会更快,因为列表理解是一个不那么富有表现力的东西,因此可以更有效地进行优化. (4认同)