如何编辑这个简单的函数以正确地按字母顺序排列列表中的字母和单词(Python)?

如何编辑这个简单的函数以正确地按字母顺序排列列表中的字母和单词(Python)?,python,list,function,Python,List,Function,目标是获取字符串列表,对每个字符串中的字母进行排序, 然后对完整的列表进行排序。我们希望就地修改列表(因此,使用sort()而不是sorted()) 我的职能: def string_lst(lst): return lst.sort() 因此,这意味着我希望: string_lst(["bdb", "acb"]) 要返回“abc”、“bbd” 但这不起作用。有人能建议如何修改此函数以获得所需的输出吗?让我们将问题分为两部分:对字符串排

目标是获取字符串列表,对每个字符串中的字母进行排序, 然后对完整的列表进行排序。我们希望就地修改列表(因此,使用
sort()
而不是
sorted()

我的职能:

def string_lst(lst):
        return lst.sort()
因此,这意味着我希望:

string_lst(["bdb", "acb"])
要返回“abc”、“bbd”


但这不起作用。有人能建议如何修改此函数以获得所需的输出吗?

让我们将问题分为两部分:对字符串排序和对字符串列表排序

第一部分: python中没有对字符串进行排序的直接方法。但是我们可以使用排序后的
作为参数,它接受iterable并返回iterable项的排序列表:

>>> s = 'bace'   
>>> sorted(a)
['a','b','c','e']             
我们可以
加入该列表以获得排序字符串:

>>>sorted_a = ''.join(sorted(a))
>>>sorted_a
'abce'
因此,我们可以为第一部分编写以下内容:

def sort_list(list_of_strings):
    for i in range(len(list_of_strings)):
        list_of_strings[i] = ''.join(sorted(list_of_strings[i]))
第二部分很简单,有一种排序列表的方法,我们将使用它。最终结果:

def sort_list(list_of_strings):
    for i in range(len(list_of_strings)):
        list_of_strings[i] = ''.join(sorted(list_of_strings[i]))
    list_of_strings.sort()
    return list_of_strings 

编辑:您实际上不需要返回列表。作为参数传递的列表已“更新”。但是,如果您像调用排序列表([“aef”,“eghab”])那样调用此函数
,则需要将此函数分配给另一个变量以检索排序列表

,请从中重复和。“演示如何解决此编码问题?”与堆栈溢出无关。您必须诚实地尝试解决方案,然后询问有关实现的具体问题。堆栈溢出不是为了替换现有的教程和文档。您的问题清楚地描述了两个级别的排序;您的函数显然只有一个字母。字母仅根据第一个字母排序,因此您首先得到“acb”,然后是“bdb”,如果出现相同的字母,则会转换为第二个字母等。@ombk yes-您能否建议是否有某种东西可以事先将字母组织在字符串中?您可以使用什么函数?您的意思是输入是什么?只有一个包含字符串的列表(假设只有字母)谢谢!但是当我们使用输入时,例如[hi”,“ab],输出是“None”,而不是我们所期望的。你们知道为什么吗?我以为你们想把名单整理一下。您将得到
None
,因为此函数不返回任何内容。没错,我确实想就地编辑-我只是假设您能够查看字符串重新排列的结果。是否也可以检查结果是否正确?例如,通过添加
返回
?我添加了,您可以检查它