当前位置: 首页 > 面试题库 >

排序字符串列表,忽略大写/小写

沈单弓
2023-03-14
问题内容

我有一个列表,其中包含代表动物名称的字符串。我需要对列表进行排序。如果使用sorted(list),它将首先使用大写字符串然后使用小写形式提供列表输出。

但是我需要下面的输出。

输入:

var = ['ant','bat','cat','Bat','Lion','Goat','Cat','Ant']

输出:

['ant', 'Ant', 'bat', 'Bat', 'cat', 'Cat', 'Goat', 'Lion']

问题答案:

sort()方法和sorted()功能迈出了关键的参数:

var.sort(key=lambda v: v.upper())

key为每个值调用名为in的函数,并在排序时使用返回值,而不会影响实际值:

>>> var=['ant','bat','cat','Bat','Lion','Goat','Cat','Ant']
>>> sorted(var, key=lambda v: v.upper())
['ant', 'Ant', 'bat', 'Bat', 'cat', 'Cat', 'Goat', 'Lion']

Ant在之前进行排序ant,您必须在键中包含更多信息,以便以给定的顺序对相等的值进行排序:

>>> sorted(var, key=lambda v: (v.upper(), v[0].islower()))
['Ant', 'ant', 'Bat', 'bat', 'Cat', 'cat', 'Goat', 'Lion']

('ANT', False)Ant('ANT', True)为生成更复杂的密钥antTrue排在后面False,因此大写单词在其小写字母对等之前进行排序。

有关更多信息,请参见Python sorting HOWTO。



 类似资料:
  • 本文向大家介绍python实现忽略大小写对字符串列表排序的方法,包括了python实现忽略大小写对字符串列表排序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现忽略大小写对字符串列表排序的方法,是非常实用的技巧。分享给大家供大家参考。具体分析如下: 先来看看如下代码: 结果: 另一种方法: 使用内建函数 sorted(iterable[,cmp[, key[,reve

  • 问题内容: 是否可以确定String是否包含字符串模式?我想知道当字符不区分大小写时是否有可能。如果是这样,怎么办? 问题答案: 您可以使用 检查CharSequence是否包含搜索CharSequence(不区分大小写),处理为null。不区分大小写由String.equalsIgnoreCase(String)定义。 空的CharSequence将返回false。 这将比regex更好,因为

  • 问题内容: 忽略大小写,比较Python中字符串的最简单方法是什么? 当然可以做到(str1.lower()<= str2.lower())等,但这会创建两个附加的临时字符串(明显的alloc / gc开销)。 我想我正在寻找一个等效于C的stricmp()。 [请求更多上下文,所以我将用一个简单的示例进行演示:] 假设您要排序一个完整的字符串列表。您只需执行List.sort()。这是O(n *

  • (我用的是Micronaut)我有一个学生名单,我想按名字排序。我正在使用Pageable和sort作为查询参数 萨曼莎 蒂姆 安东尼奥 大卫 索菲亚 而不是: 安东尼奥 大卫 萨曼莎 索菲亚 蒂姆 会有什么问题?

  • 问题 你需要以忽略大小写的方式搜索与替换文本字符串 解决方案 为了在文本操作时忽略大小写,你需要在使用 re 模块的时候给这些操作提供 re.IGNORECASE 标志参数。比如: >>> text = 'UPPER PYTHON, lower python, Mixed Python' >>> re.findall('python', text, flags=re.IGNORECASE) ['P

  • 本文向大家介绍grep 忽略大小写,包括了grep 忽略大小写的使用技巧和注意事项,需要的朋友参考一下 示例 给定一个文件sample: grep“ hello”的法线返回: 使用-i允许忽略大小写并匹配任何“ hello”: