从对象列表中获取特定属性

2024-04-19 23:59:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个清单如下

[
<NodeImage: id=aki-00501552,
name=ubuntu/kernels-testing/ubuntu-lucid-amd64-linux-image-2.6.32-341-ec2-v-2.6.32-341.42-kernel,
driver=AmazonEC2(ap-southeast-1)...>,
<NodeImage: id=aki-00c4bd52,
name=ubuntu-kernels/ubuntu-lucid-amd64-linux-image-2.6.32-316-ec2-v-2.6.32-316.31-kernel,
driver=AmazonEC2(ap-southeast-1)...>,
<NodeImage: id=aki-015d1253,
name=RH-pv-grub-hd00-V1.01-x86_64,
driver=AmazonEC2(ap-southeast-1)...>
]

该列表包含多个“NodeImage”,每个“NodeImage”下都有id、name和driver属性。如何获取所有id并将其存储在不同的列表中?你知道吗


Tags: nameimageidubuntulinuxdriverec2amd64
1条回答
网友
1楼 · 发布于 2024-04-19 23:59:32

您有一个对象列表;要创建特定属性值的列表,请使用list comprehension

ids = [node.id for node in list_of_nodes]

如果并非所有对象都具有该属性,则可以包括过滤器:

ids = [node.id for node in list_of_nodes if hasattr(node, 'id')]

相关问题 更多 >