python 排序后添加新序号
时间: 2024-03-19 17:08:51 浏览: 22
您可以使用 `enumerate` 函数来为排序后的列表添加新的序号。下面是一个示例代码:
```python
data = [5, 2, 8, 1, 9]
sorted_data = sorted(enumerate(data), key=lambda x: x[1])
new_data = [(i, val) for i, (_, val) in enumerate(sorted_data)]
print(new_data)
```
输出结果为:
```
[(0, 1), (1, 2), (2, 5), (3, 8), (4, 9)]
```
在这个例子中,我们首先使用 `enumerate` 函数为原始数据列表中的每个元素添加了索引。然后,我们使用 `sorted` 函数对索引和元素值组成的元组进行排序,以获得按值排序后的新列表。最后,我们再次使用 `enumerate` 函数为排序后的列表添加新序号。
相关问题
对中文加中文序号进行排序
要对中文加中文序号进行排序,可以使用 Python 的 sort() 函数,结合 Unicode 编码实现:
# coding=utf-8
chinese_list = ['第三章', '第二章', '第一章', '第四章']
sort_list = sorted(chinese_list, key=lambda x: int(''.join(filter(str.isdigit, x))))
print(sort_list)
这段代码可以实现将中文序号排序输出。
用python输出 ['崇光', '园姐', '小幽', '佳琪', '陈鑫'] 随机排序输出列表内容并加上序号
可以使用Python中的random模块中的shuffle函数来实现列表的随机排序,然后使用enumerate函数来加上序号,最后使用for循环来输出结果。具体代码如下:
```python
import random
# 定义名字列表
names = ['崇光', '园姐', '小幽', '佳琪', '陈鑫']
# 对名字列表进行随机排序
random.shuffle(names)
# 输出随机排序后的名字列表
for i, name in enumerate(names):
print(f"{i+1}. {name}")
```
输出结果类似如下:
```
1. 崇光
2. 陈鑫
3. 园姐
4. 佳琪
5. 小幽
```