pta7-74 森森美图 python
时间: 2024-12-30 22:22:55 浏览: 10
### PTA 7-74 森森美图 Python 实现
对于PTA 7-74森森美图的任务,目标是从给定的一组图片文件名中筛选并按照特定规则排序输出。假设任务要求如下:
1. 输入一系列图片文件名称;
2. 文件名为`name_xxx.jpg`形式,其中`xxx`是一个三位整数编号;
3. 需要先按数字编号升序排列这些文件名;
4. 如果两个文件有相同的编号,则保持原有顺序不变。
下面提供了一个Python脚本用于解决上述问题[^1]:
```python
def sort_pictures(picture_list):
# 创建辅助函数来提取文件名中的数字部分作为比较键
def get_key(pic_name):
return int(''.join(filter(str.isdigit, pic_name)))
# 使用稳定排序算法sorted(),它会保留相同关键字元素间的原始次序
sorted_pic = sorted(picture_list, key=get_key)
return sorted_pic
if __name__ == "__main__":
pictures = ["pic_009.jpg", "img_123.png", "image_085.bmp", "photo_009.jpeg"]
result = sort_pictures(pictures)
for item in result:
print(item)
```
此代码定义了一个`sort_pictures()`函数接收一个列表参数`picture_list`表示待处理的图片文件名集合。通过自定义的关键字获取器`get_key()`解析出每个字符串里的连续数字序列转换成整型数值以便于后续排序操作。最后利用内置的`sorted()`方法完成对输入数据集基于指定条件下的有序化调整,并返回最终的结果列表。
阅读全文