使用列表理解将排序的转换点列表转换回字符串

2024-09-28 22:35:10 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一个名为heights的字符串(人的身高),如下所示:

"89\n169\n168\n176\n171\n180-"

我想把它们分类,所以我的步骤是:

  1. 去掉不必要的字符
  2. 拆分“\n”分隔符,生成字符串编号列表
  3. 将每个数字转换成int
  4. 对列表排序
  5. 再次将列表中的每个元素转换回str

所以我所做的是:

heights = sorted(int(height) for height in heights.strip(" -\n").split('\n'))
heights = str(height) for height in heights

实际上是可行的,但解决方案是两个列表的压缩,我认为有一个只有一行的解决方案


Tags: 字符串in列表for分类解决方案intheight
3条回答
l = [str(j) for j in sorted([int((i.rstrip('-'))) for i in h.split('\n')])] 

如果字符串列表中需要最终输出

list(map(str,sorted(map(int,heights.rstrip('-').split()))))

我认为以下措施应该奏效: 它应该返回字符串值,但按整数值排序。Sorted接受一个关键参数,该参数告诉它对列表元素执行一些函数并对其进行排序,在这种情况下,我们只需要将它们映射到一个整数就可以按照所需的顺序进行排序

heights = sorted(heights.strip(" -\n").split('\n'), key=int)

相关问题 更多 >