首页 > 解决方案 > 如何在 Python 3.6 中按数字顺序对字符串列表进行排序?

问题描述

我有以下代码:

x='10 0 17 5'
a = x.split(' ')
first = a.pop(0)
print(first)
print(a)
c  = a.sort(key=int)
print(c)

我正在删除第一个元素,我想对剩余的元素进行排序这就是我得到的:

10
['0', '17', '5']
None

在我们看到 None 的地方,我希望看到 ['0', '5', '17'],根据这篇文章Sort a List of string by Numeric Order

为什么它不工作?

更新

x='10 0 17 5'
a = x.split(' ')
first = a.pop(0)
print(first)
print(a)
c  = a.sort(key=int)
print(c)
d  = sorted(a)
print(d)
e  = sorted(a.items())
print(e)
//
10
['0', '17', '5']
None
['0', '17', '5']
Traceback (most recent call last):
  File "index.py", line 14, in <module>
    e  = sorted(a.items())
AttributeError: 'list' object has no attribute 'items'

更新 2

x='10 0 17 5'
a = x.split(' ')
first = a.pop(0)
print(first)
print(a)
c  = a.sort(key=int)
print(c)
d  = sorted(a)
print(d)
e  = a.sort()
print(e)
f  = a.reverse()
print(f)

//
10
['0', '17', '5']
None
['0', '17', '5']
None
None

标签: pythonsorting

解决方案


推荐阅读