下面是一个示例代码,演示了如何对包含数字和名称的列表进行排序:
# 创建包含数字和名称的列表
data = ["Tina1", "Tom2", "Alice3", "Bob4", "Charlie5"]
# 使用 lambda 函数定义排序规则
sort_key = lambda x: (int(''.join(filter(str.isdigit, x))), x)
# 对列表进行排序
sorted_data = sorted(data, key=sort_key)
# 输出排序后的列表
print(sorted_data)
输出结果:
['Tina1', 'Tom2', 'Alice3', 'Bob4', 'Charlie5']
在这个示例中,我们使用 lambda 函数定义了一个排序规则 sort_key
。该规则先提取字符串中的数字部分,然后将其转换为整数,最后按照数字和名称的顺序进行排序。然后,我们使用 sorted()
函数对列表进行排序,并将排序结果存储在变量 sorted_data
中。最后,我们输出排序后的列表。
请注意,这个示例假设列表中的每个元素都以数字开头,后面是名称部分。如果列表中的元素不满足这个要求,可能需要根据实际情况进行适当的修改。
上一篇:包含数字的模糊匹配