有这么几组数据需要你处理:
James 2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22
Julia 2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21
Mikey 2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38
Sarah 2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55
这是他们四个人跑600米花费的时间,现在需要用python实现找到每个选手跑得最快的三个时间。
首先,自然是分解数据,用split(",")得到列表。然后排序,说道排序,python里有两种排序方法:
1.原地排序:列表方法sort()排序完成后会替换掉原来的数据,原有顺序会消失
2.复制排序:内置函数sorted(),复制原有数据,在排序完成后返回,原有数据和顺序依然保留
打开IDLE试试下面的代码:
>>> data=[1,2,7,5,3,8]
>>> sorted(data)
>>> data.sort()
>>> data
def sanitize(timestr):
if ("-" in timestr) or (":" in timestr):
return timestr.replace("-", ".").replace(":", ".")
else:
return timestr
newdata=[]
def sortdata(data):
for item in data:
newdata.append(sanitize(item))
return newdata
print(sorted(newdata))