我打开一个文本文件并在所有行上循环,将每一行排序到个人习惯的字典中。
def load(fileName):
file = open(fileName+'.txt')
for line in file:
row = line.split()
id = int(row[0])
number = int(row[2])
values = [int(row[3]),int(row[4]),int(row[5]),int(row[6])]
dict = {number:[id, values]}
print(dict)
我想检查下一行是否有重复的值,number
然后id
根据它进行分组和排序。
我确信一个好的解决方案是将所有字典放入一个列表中,然后以某些方式对其进行操作,但我似乎无法让它工作,它只是将每个字典放在dict
不同的列表中。
如何在每次line
使用类似于.nextLine()
或index=0
每次迭代时递增的东西时检查重复项line in file
?
输入示例:
1772 320 548 340 303 20 37 1
1772 320 551 337 306 22 37 1
1772 320 551 337 306 22 37 1
1772 320 551 337 306 22 37 1
1772 320 552 336 307 22 37 1
1772 320 553 335 308 22 37 1
1772 320 554 335 309 20 37 1
1783 345 438 31 436 40 36 1
1783 345 439 33 434 40 36 1
1783 345 440 35 432 40 36 1
1783 345 441 38 430 40 36 1
1783 345 442 39 431 40 36 1
1783 345 443 41 429 40 36 1
1783 345 444 44 428 40 36 1
输出示例:
{548: [1772, [340, 303, 20, 37]]}
{551: [1772, [337, 306, 22, 37]]}
{551: [1772, [337, 306, 22, 37]]}
{551: [1772, [337, 306, 22, 37]]}
{552: [1772, [336, 307, 22, 37]]}
{553: [1772, [335, 308, 22, 37]]}
{554: [1772, [335, 309, 20, 37]]}
{438: [1783, [31, 436, 40, 36]]}
{439: [1783, [33, 434, 40, 36]]}
{440: [1783, [35, 432, 40, 36]]}
{441: [1783, [38, 430, 40, 36]]}
{442: [1783, [39, 431, 40, 36]]}
{443: [1783, [41, 429, 40, 36]]}
{444: [1783, [44, 428, 40, 36]]}