【发布时间】:2014-06-02 10:07:12
【问题描述】:
我在 python 中编写了一个程序,其中我使用哈希表从文件中读取数据,然后在文件的最后一列中添加与文件第二列中的值相对应的数据。例如,对于第 2 列中具有相同值的所有条目,将添加相应的最后一列值。
现在我已经成功实现了上述内容。现在我想根据最后一列的值对表格进行降序排序,并打印这些值和相应的第二列(键)值。我无法弄清楚如何做到这一点。有人可以帮忙吗?
pmt txt 文件格式为
0.418705 2 3 1985 20 0
0.420657 4 5 119 3849 5
0.430000 2 3 1985 20 500
等等……
因此,例如,对于第 2 列中的数字 2,我添加了与第 2 列中所有数字“2”相对应的最后一列的所有数据。因此,对于第 2 列中的下一组数字 4、5 等,此过程将继续进行。
我正在使用 python 3
import math
source_ip = {}
f = open("pmt.txt","r",1)
lines = f.readlines()
for line in lines:
s_ip = line.split()[1]
bit_rate = int(line.split()[-1]) + 40
if s_ip in source_ip.keys():
source_ip[s_ip] = source_ip[s_ip] + bit_rate
print (source_ip[s_ip])
else:
source_ip[s_ip] = bit_rate
f.close()
for k in source_ip.keys():
print(str(k)+": "+str(source_ip[k]))
print ("-----------")
【问题讨论】:
-
请提供
pmt.txt内容的简要示例。可能有比您实施的方法更好的方法来做到这一点,但是如果没有看到示例输入,我们只能做这么多。另请说明您使用的是 Python 2 还是 Python 3。 -
pmt txt 文件的格式为 0.418705 2 3 1985 20 0 0.420657 4 5 119 3849 5 0.430000 2 3 1985 20 500 等等......因此,例如,对于第 2 列中的数字 2 ,我在第二列中添加了与所有数字“2”相对应的最后一列的所有数据。因此,对于第 2 列中的下一组数字 4、5 等,此过程将继续。我正在使用 python 3
-
请您将其编辑到您的问题中,格式正确吗? (等宽和灰色背景每行 4 个前导空格。)