将所有木块按照重量从小到大排序,然后按照长度从小到大排序怎么写
时间: 2023-08-11 12:14:53 浏览: 141
可以使用 Python 自带的排序函数 `sorted()` 来实现,示例代码如下:
```python
# 假设所有木块存储在一个列表 blocks 中,每个木块是一个字典,包含长度和重量两个属性
blocks = [{'length': 2, 'weight': 3}, {'length': 2, 'weight': 2}, {'length': 1, 'weight': 3}]
# 按照重量从小到大排序
blocks = sorted(blocks, key=lambda block: block['weight'])
# 按照长度从小到大排序
blocks = sorted(blocks, key=lambda block: block['length'])
```
在上面的示例代码中,`sorted()` 函数的 `key` 参数指定了排序规则,使用 `lambda` 表达式表示按照字典中的某个属性进行排序。对于按照重量排序,我们使用了 `block['weight']` 作为排序规则,对于按照长度排序,我们使用了 `block['length']` 作为排序规则。
需要注意的是,`sorted()` 函数会返回一个新的排序后的列表,原列表不会被修改。如果需要修改原列表,可以使用 `list.sort()` 方法,它会在原列表上进行排序。
阅读全文