我有一个包含值的文本文件(例如 0.2803739 0.280314)。我想以这样的方式替换文本文件中的值,即最高值将被最低值替换,依此类推。例如,如果文本文件包含从 1 到 10 的值,则值 10 应替换为值 1,值 9 应替换为 2,值 8 应替换为 3,依此类推。在以下脚本中,第三个“for 循环”被忽略。
import fileinput
text_file = r"E:\Jagu\test123.txt"
f1 = open(text_file, 'r')
unique_v = set(f1.read().split())
a = list(unique_v)
new_list1= list(a)
new_list1.sort(reverse = True )
new_list2 = new_list1
new_list2.sort(reverse = False )
l = 0
m = len (new_list2)
m = m-1
f2 = open(text_file + ".tmp", 'w')
for j in new_list1:
c = new_list1 [l]
l = l + 1
for k in new_list2:
d = new_list2[m]
m = m - 1
for line in f1:
f2.write(line.replace(c,d))
print "replaced : " + str(c) + " with : " + str(d)
f1.close()
f2.close()
希望解释有助于理解我的问题。我是 Python 编程的初学者。任何帮助,将不胜感激。