相关疑难解决方法(0)

Python是否具有用于字符串自然排序的内置函数?

使用Python 3.x,我有一个字符串列表,我想对其执行自然的字母排序.

自然排序: Windows中文件的排序顺序.

例如,以下列表是自然排序的(我想要的):

['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
Run Code Online (Sandbox Code Playgroud)

这是上面列表的"排序"版本(我有):

['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9']
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个行为与第一个类似的排序函数.

python sorting python-3.x

249
推荐指数
9
解决办法
8万
查看次数

按内部数字排序字符串

我想知道如何按内部数字对字符串进行排序.

例如,我有:

hello = " hola %d" % (number_from_database)
bye = "adios %d" % (number_from_database_again)
Run Code Online (Sandbox Code Playgroud)

我想用数字对它们进行排序,即使它发生了变化.

python string int

4
推荐指数
1
解决办法
1333
查看次数

按字母数字的属性对对象列表进行排序

我有一个相同类型的对象列表

lis = [<obj>, <obj>, <obj>]
Run Code Online (Sandbox Code Playgroud)

我希望通过object属性自然排序name.我试过了

sortedlist = sorted(lis, key=lambda x: x.name)
Run Code Online (Sandbox Code Playgroud)

然而,这将列表排序为

A1
A10
A2
Run Code Online (Sandbox Code Playgroud)

不是我想要的格式

A1
A2
A10
Run Code Online (Sandbox Code Playgroud)

我已经尝试修改代码来排序字母数字字符串,但我不能让它适用于对象列表.

python sorting

2
推荐指数
3
解决办法
1307
查看次数

如何按其值排序"字符串"数字的python列表

我有这个文件列表:

1.jpg, 2.jpg, ..., 10.jpg, ...
Run Code Online (Sandbox Code Playgroud)

如果我做一个python os.listdir(".")我列出了所有文件,但按字母顺序排列如下:

[1.jpg, 10.jpg, 11.jpg, ..., 2.jpg, 20.jpg....]
Run Code Online (Sandbox Code Playgroud)

但我希望它们按数值排序

[1.jpg, 2.jpg ,...10 ,11 ,12... ]
Run Code Online (Sandbox Code Playgroud)

如何重新排序列表以完成此操作?

TX

python list

0
推荐指数
1
解决办法
138
查看次数

标签 统计

python ×4

sorting ×2

int ×1

list ×1

python-3.x ×1

string ×1