Python - 按字母顺序排列嵌套列表

Act*_*i67 2 python nested list sorted alphabetical

我有以下列表:

["stephane", "philippe", "hélène", ["hugo", "jean-michel", "fernand"], "gustave"]
Run Code Online (Sandbox Code Playgroud)

我想这样订购:

["gustave", "hélène", ["fernand", "hugo", "jean-michel"], "philippe", "stephane"]
Run Code Online (Sandbox Code Playgroud)

注意:如果用户后面有嵌套列表,则此列表必须位于此用户的右侧.

除此之外,所有嵌套列表的工作方式都相同.这是递归的.

Ned*_*der 6

您的数据听起来更好地表示为字典.列表中连续元素具有特殊关系的声音奇怪.

如果您改为代表您的数据:

{
  "stephane": {}, 
  "philippe": {}, 
  "hélène": {
    "hugo": {}, 
    "jean-michel": {},
    "fernand": {},
  }, 
  "gustave": {},
}
Run Code Online (Sandbox Code Playgroud)

然后,您只需对字典的键进行排序即可获得所需的顺序.

  • @Tim我假设你知道,但对于那些不知道的人,OrderedDict是_ordered_,而不是_sorted_.为了对其进行排序,您必须确保按排序顺序添加键值对. (3认同)