python 遍历一个list 搜集list中每一个对象的属性值
时间: 2023-04-02 09:01:17 浏览: 144
可以使用 for 循环遍历 list,然后使用点号或者方括号获取每个对象的属性值。例如:
```
for obj in my_list:
print(obj.property)
```
其中,my_list 是要遍历的 list,obj 是每个对象,property 是要获取的属性名。
相关问题
list根据一个属性值排序
要根据一个属性值对列表进行排序,可以使用Python的内置函数`sorted()`和`lambda`表达式来实现。下面是一个示例代码:
```python
# 定义一个类
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 创建对象列表
person_list = [
Person("Alice", 25),
Person("Bob", 30),
Person("Charlie", 20)
]
# 根据age属性值进行排序
sorted_list = sorted(person_list, key=lambda x: x.age)
# 打印排序后的结果
for person in sorted_list:
print(person.name, person.age)
```
在上面的代码中,我们定义了一个`Person`类,该类有两个属性:`name`和`age`。然后我们创建了一个对象列表`person_list`,其中包含了三个`Person`对象。使用`sorted()`函数和`lambda`表达式,我们可以根据`age`属性值对列表进行排序。最后,我们遍历排序后的列表并打印结果。
list集合里每个对象都有一个class属性 抽取class属性的值
可以使用列表推导式来抽取每个对象的`class`属性的值,例如:
```python
my_list = [{'class': 'A', 'value': 1}, {'class': 'B', 'value': 2}, {'class': 'A', 'value': 3}]
class_values = [obj['class'] for obj in my_list]
print(class_values) # 输出 ['A', 'B', 'A']
```
这里通过遍历`my_list`中的每个对象,再通过`obj['class']`来获取相应对象的`class`属性的值,并将其放入一个新的列表中。最后输出这个新的列表即可。