0
a=[3.0,2.5,1.0,'1/3','4/5']
我想排序该阵列中,我试图转换字符串另一个数组即,排序与字符串的数组和浮法
a[3]=['1','3']
然后将它们转换为浮起并然后执行除法。问题是,它成为当我使用a.sort对它们进行排序比较复杂,我不知道如何把他们带回自己的字符串形式 我需要知道如何在这个没有导入分数模块
请帮助。
a=[3.0,2.5,1.0,'1/3','4/5']
我想排序该阵列中,我试图转换字符串另一个数组即,排序与字符串的数组和浮法
a[3]=['1','3']
然后将它们转换为浮起并然后执行除法。问题是,它成为当我使用a.sort对它们进行排序比较复杂,我不知道如何把他们带回自己的字符串形式 我需要知道如何在这个没有导入分数模块
请帮助。
您不需要将其转换回来。使用key
参数(函数)sorted
,list.sort
。键功能的返回值将用于比较。
>>> def key(n):
... if isinstance(n, str):
... a, b = map(float, n.split('/'))
... n = a/b
... return n
...
>>> a = [3.0,2.5,1.0,'1/3','4/5']
>>> sorted(a, key=key)
['1/3', '4/5', 1.0, 2.5, 3.0]