微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按单词和单词中的字符对单词列表进行排序

如何解决按单词和单词中的字符对单词列表进行排序

在不使用 .sort()sorted() 的情况下,我想通过将每个字符转换为数字,对单词中的字符进行排序,然后对单词进行排序来对列表中的每个单词进行排序。我觉得我已经在这里尝试了一切。我知道我需要将它们转换为小写,然后使用 ord(letter) - 96 获得 3,26261,122,211,134,2,31,22626,218,912,然后对每个“组”进行排序,然后将每个组转换回字符串。

输入:c zzA aBb bAa Acd B CA zzz ZR IL
输出abb acd b baa c ca il zr zza zzz

解决方法

你应该这样做:

a = ["c","zzA","aBb","bAa","Acd","B","CA","zzz","ZR","I"]
b = sorted([i.lower() for i in a])

print(b)
# ['abb','acd','b','baa','c','ca','i','zr','zza','zzz']
,

不使用排序功能。使用循环和冒泡排序

input_list = ['c','zzA','aBb','bAa','Acd','B','CA','zzz','ZR','IL']
for i in range(len(input_list)):
    for j in range (i+1,len(input_list)):
        if input_list[i].lower() > input_list[j].lower():
            input_list[i],input_list[j] = input_list[j],input_list[i]
print (input_list)

输出将是:

['aBb','IL','zzz']

使用带有 key=str.lower 的排序功能

您也可以在不进行循环的情况下执行此操作。 list.sort(key=str.lower) 其中 list 是值列表。

>>> x = ['c','IL']
>>> x=
['c','IL']

>>> x.sort(key=str.lower)
>>> x
['aBb','zzz']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?