使用此代码:
for mod_name in sorted(module_dict.keys()):
print(mod_name)
我得到这个输出:
> Here are the available modules:
> Module 1
> Module 10
> Module 2
> Module 3
> Module 4
> Module 5
> Module 6
> Module 7
> Module 8
> Module 9
这没什么大不了的,但就是很烦人。我可以去掉整数并重建列表,但这似乎太过分了。我觉得我应该能够指定一个要排序的键,该键将适用于以数字结尾的字符串。
我尝试了 key=int 但它抛出了一个错误。
您可以使用
key
来拆分字符串,解析整数,然后将每个 mod_name` 作为元组进行排序:
key=lambda mod_name: int(mod_name.split()[1])
如果您发现它不可读,您也可以将其移至完整的
def
定义的函数中。