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

如何根据另一个列表中对应的整数值对字符串列表进行排序?

Susan Sarandon
发布: 2024-12-31 16:00:20
原创
267 人浏览过

How to Sort a List of Strings Based on Corresponding Integer Values in Another List?

使用另一个列表中的相应值对列表进行排序

给定两个列表,X 包含字符串,Y 包含整数,您的目标是根据中的相应值对 X 进行排序Y 同时保留具有相同“键”值的元素的原始顺序。使用 Python 的内置函数探索以下优化解决方案:

[x for _, x insorted(zip(Y, X))]

示例:

X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Y = [ 0,   1,   1,    0,   1,   2,   2,   0,   1]

Z = [x for _,x in sorted(zip(Y,X))]
print(Z)  # ["a", "d", "h", "b", "c", "e", "i", "f", "g"]
登录后复制

说明:

  1. zip(Y, X)创建一个元组列表,每个元组包含 Y 中的一个元素以及来自X.
  2. sorted(zip(Y, X)) 根据第一个元素(Y 中的值)对元组列表进行排序。
  3. [x for _, x insorted(. ..)] 通过迭代已排序的元组列表、丢弃第一个元素 (_) 并仅保留第二个元素来创建一个新列表(x).

进一步说明:

sorted() 函数允许您指定确定排序标准的键函数。在本例中,我们使用 key=lambdapair:pair[0] 根据元组的第一个元素对元组进行排序。这可以根据 Y 中的相应值对 X 进行有效排序。

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

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