Python 如何对列表(非整数)进行排序?

Python 如何对列表(非整数)进行排序?,python,list,sorting,Python,List,Sorting,我有一个列表,如下所示: [['10.2100', '0.93956088E+01'], ['11.1100', '0.96414905E+01'], ['12.1100', '0.98638361E+01'], ['14.1100', '0.12764182E+02'], ['16.1100', '0.16235739E+02'], ['18.1100', '0.11399972E+02'], ['20.1100', '0.76444933E+01'], ['25.1100',

我有一个列表,如下所示:

[['10.2100', '0.93956088E+01'],
 ['11.1100', '0.96414905E+01'],
 ['12.1100', '0.98638361E+01'],
 ['14.1100', '0.12764182E+02'],
 ['16.1100', '0.16235739E+02'],
 ['18.1100', '0.11399972E+02'],
 ['20.1100', '0.76444933E+01'],
 ['25.1100', '0.37823686E+01'],
 ['30.1100', '0.23552237E+01'],...] 
(这里看起来好像已经排序了,但是为了避免一个庞大的列表,这里没有包括的其他一些元素没有排序)
我想按每对中的第一个元素对它进行排序,我看到了几个非常类似的问题,但在所有的例子中都是整数,我不知道这是否是为什么当我使用
list.sort(key=lambda x:x[0])
或sorter,或带有
操作符的版本。itemgetter(0)
时,我得到以下结果:

[['10.2100', '0.93956088E+01'],
 ['100.1100', '0.33752517E+00'],
 ['11.1100', '0.96414905E+01'],
 ['110.1100', '0.25774972E+00'],
 ['12.1100', '0.98638361E+01'],
 ['14.1100', '0.12764182E+02'],
 ['14.6100', '0.14123326E+02'],
 ['15.1100', '0.15451733E+02'],
 ['16.1100', '0.16235739E+02'],
 ['16.6100', '0.15351242E+02'],
 ['17.1100', '0.14040859E+02'],
 ['18.1100', '0.11399972E+02'], ...]
显然,所做的是按每对的第一个元素中出现的第一个字符进行排序


有没有一种方法可以使用
list.sort
sorted()
对第一个元素的这对元素进行排序?

不要将list用作变量名

some_list.sort(key=lambda x: float(x[0]) )
将第一个元素转换为浮点,并按数字而不是字母顺序进行比较


(请注意,转换为浮点仅用于比较…该项仍然是列表中的字符串)

不要将列表用作变量名

some_list.sort(key=lambda x: float(x[0]) )
将第一个元素转换为浮点,并按数字而不是字母顺序进行比较


(请注意,转换为浮点仅用于比较…该项在列表中仍然是字符串)

非常感谢,我忽略了该项仍然是字符串的事实,并且必须“强制”将其读取为浮点。非常感谢,我忽略了该项仍然是字符串的事实,并且必须“强制”将其读取为浮点。