5、给定一个包含整数的列表,先筛选出其中能被 3 整除的元素,然后对这些元素进行降序排序,再将排序后的元素三个一组组合成新的列表。
时间: 2024-10-11 20:04:22 浏览: 18
给定一个整数列表,你可以按照以下步骤操作:
1. **筛选**:遍历列表,使用列表推导式找出所有可以被3整除的元素,只保留这些元素组成一个新的列表。例如:
```python
divisible_by_3 = [num for num in original_list if num % 3 == 0]
```
2. **排序**:对筛选出的元素应用`sorted()`函数,并设置`reverse=True`来进行降序排序。这一步会返回一个降序排列的新列表:
```python
sorted_divisible_by_3 = sorted(divisible_by_3, reverse=True)
```
3. **分组**:创建新列表并以每3个元素一组的形式存储,可以使用Python的切片功能结合while循环实现:
```python
result = []
i = 0
while i < len(sorted_divisible_by_3):
group = sorted_divisible_by_3[i:i+3] # 取前三个元素
result.append(group)
i += 3
```
如果列表长度不是3的倍数,则最后一组可能会少于三个元素。
完整的代码示例:
```python
original_list = [4, 9, 7, 6, 18, 21, 5, 12]
divisible_by_3 = [num for num in original_list if num % 3 == 0]
sorted_divisible_by_3 = sorted(divisible_by_3, reverse=True)
result = [sorted_divisible_by_3[i:i+3] for i in range(0, len(sorted_divisible_by_3), 3)]
print(result)
```
阅读全文