gpt4 book ai didi

python - 带有字母 'x' 关键参数的排序列表

转载 作者:行者123 更新时间:2023-11-28 21:43:27 25 4
gpt4 key购买 nike

例如,我有一个列表输入。我想返回一个列表,首先按字母“x”排序,然后按字母顺序排序。我是 Python 的新手,目前正在学习谷歌的 python 类(class)。

所以输入:['abc', 'bad', 'xzx', 'xxy']

预期的返回是:['xxy', 'xzx', 'abc', 'bad']

我已经尝试过的:

  • 创建一个新函数来查找列表中的每个“x”字母,但这次失败了;
  • 在排序中使用键函数也失败了:(

最佳答案

一些关键函数技巧:

>>> l = ['abc', 'bad', 'xzx', 'xxy']
>>> k = lambda c: -1 if c == 'x' else ord(c)
>>> sorted(l, key=lambda s: [k(c) for c in s])
['xxy', 'xzx', 'abc', 'bad']

函数 k 在应用于 'x' 时返回 -1 以及任何其他字符的 unicode 点 ( ord )。由于这些 un​​icode 点(整数)反射(reflect)了字符的字典顺序并且保证大于或等于 0,这确保了 'x' 将具有最低值。

然后排序中的关键函数comprehends对于字符串中的每个字符 c,每个字符串都放入一个 k(c) 列表中。

关于python - 带有字母 'x' 关键参数的排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com