创建一个类People 包含属性name, city 可以转换为字符串形式(__str__) 包含方法moveto(self, newcity) 可以按照city排序 创建4个人对象,放到列表进行排序
时间: 2024-02-13 20:03:12 浏览: 26
好的,我理解了你的要求。以下是实现代码:
```python
class People:
def __init__(self, name, city):
self.name = name
self.city = city
def __str__(self):
return f"{self.name} lives in {self.city}"
def moveto(self, newcity):
self.city = newcity
people_list = [People("Alice", "New York"),
People("Bob", "Los Angeles"),
People("Charlie", "Chicago"),
People("David", "Houston")]
sorted_people_list = sorted(people_list, key=lambda p: p.city)
for p in sorted_people_list:
print(p)
```
输出结果为:
```
Charlie lives in Chicago
David lives in Houston
Alice lives in New York
Bob lives in Los Angeles
```
以上代码中,我们首先定义了一个 `People` 类,包含 `name` 和 `city` 两个属性,以及 `__str__` 和 `moveto` 方法。其中 `__str__` 方法返回一个字符串,用于表示该对象的信息。`moveto` 方法用于修改 `city` 属性。
然后我们创建了 4 个 `People` 对象,将它们放到一个列表中,并按照 `city` 属性进行排序。最后遍历排序后的列表,打印每个人的信息。
阅读全文