您的位置:首页 > 编程语言 > Python开发

《Head First Programming》---python 4_文件和数组中的数据

2014-04-24 10:12 453 查看
本章主要是利用数组(python中是指代列表)和python内置函数sort实现对指定文本中的数据进行排序和显示。

文本result.txt中的数据如下所示:

Johnny 8.65

Juan 9.12

Joseph 8.45

Stacey 7.81

Aideen 8.05

Zack 7.21

Aaron 8.31

1.实现代码:

scores = [] #空列表
result_f = open("result.txt")
for line in result_f:
(name, score) = line.split()
scores.append(float(score))
result_f.close()

scores.sort()#降序排序
scores.reverse()#反序排序

print("The top scores were : ")
print(scores[0])
print(scores[1])
print(scores[2])

2.实现结果:

Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
The top scores were :
9.12
8.65
8.45
>>>

但是没有关联名称和数值...

3.利用hash(python里值字典)实现名称和数据的关联

hash实现代码如下:

scores = {} #hash空表
result_f = open("result.txt")
for line in result_f:
(name, score) = line.split()
scores[score] = name
result_f.close()

print("The top scores were : ")

for each_score in sorted(scores.keys(), reverse = True):
print('Surfer ' + scores[each_score] + ' scored ' + each_score)

4.实现结果:

Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
The top scores were :
Surfer Juan scored 9.12
Surfer Johnny scored 8.65
Surfer Joseph scored 8.45
Surfer Aaron scored 8.31
Surfer Aideen scored 8.05
Surfer Stacey scored 7.81
Surfer Zack scored 7.21
>>>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hash 数据 python