首页 > 后端开发 > Python教程 > 如何根据并行列表中的值对字符串列表进行排序?

如何根据并行列表中的值对字符串列表进行排序?

Mary-Kate Olsen
发布: 2024-12-14 22:15:14
原创
461 人浏览过

How to Sort a List of Strings Based on Values in a Parallel List?

根据并行列表中的值对列表进行排序

考虑以下场景:您有一个字符串列表 X 和相应的值列表 Y您的任务是使用 Y 中的值对 X 进行排序。例如,给定:

X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Y = [ 0,   1,   1,   0,   1,   2,   2,   0,   1 ]
登录后复制

您的目标是获得排序后的结果输出:

["a", "d", "h", "b", "c", "e", "i", "f", "g"]
登录后复制

虽然使用循环的传统方法是可行的,但存在一个简洁的解决方案:

[x for _, x in sorted(zip(Y, X))]
登录后复制

此代码:

  1. Zips 两个列表 Y 和 X,创建元组列表:[(0, 'a'), (1, 'b'), ... (2, 'g')].
  2. 使用 Y 中的值作为排序键对 压缩列表进行排序。
  3. 使用列表提取每个元组的第二个元素(字符串)理解。

结果是按所需顺序排序的字符串列表。

以上是如何根据并行列表中的值对字符串列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板