Python如何将两个int列表对应元素用斜杠拼接并升序输出?
实现方案
给定输入:l1 = [1, 2, 3]l2 = [4, 5, 6]
实现逻辑
- 先对两个列表同索引元素配对,同时计算每对的实际分数值作为排序依据,避免直接排字符串导致顺序错误
- 按分数实际值升序排序后,提取带斜杠的格式字符串组成最终结果
可运行代码
# 输入列表 l1 = [1, 2, 3] l2 = [4, 5, 6] # 生成包含分数值、斜杠格式字符串的元组列表 fraction_pairs = [(x / y, f"{x}/{y}") for x, y in zip(l1, l2)] # 按分数实际值升序排序,提取格式字符串 result = [pair[1] for pair in sorted(fraction_pairs, key=lambda item: item[0])] print(result)
运行输出
['1/4', '2/5', '3/6']
注意事项
- 不可直接对生成的斜杠格式字符串做字典序排序:例如
'10/11'的字典序小于'2/3',但实际分数值10/11≈0.91远大于2/3≈0.67,直接排序会得到错误的升序结果。
内容的提问来源于stack exchange,提问作者Maninath
相关产品推荐
相关产品推荐

