文件读取和python中的for循环

文件读取和python中的for循环,第1张

概述我有这个文件: -01169-00134079-000... 我想对它们进行排序并将它们存储到文件中. 我读取文件将它们存储在列表中,对列表进行排序,然后将列表保存到文件中.问题是它从第二个-x开始. for line in file: temp_buffer = line.split() for i,word in enumerate(te 我有这个文件:

-01169-00134079-000...

我想对它们进行排序并将它们存储到文件中.

我读取文件将它们存储在列表中,对列表进行排序,然后将列表保存到文件中.问题是它从第二个-x开始.

for line in file:        temp_buffer = line.split()        for i,word in enumerate(temp_buffer):            if "-" not in word:                if word in index_dict:                    l1.append(word)                else:                    l1.append(function(word))            else:                l1.append(word)                l1.sort()                print(l1,file=testfile)                del l1                l1 = []

所以第一个循环它转到else语句并且只存储第一个-0而没有-0和-00之间的单词.我该怎么解决这个问题?
我想输出是这样的:

-01916-00013479-000....
解决方法 您可以使用itertools.groupby将数据“划分”为以 – 开头的行之间的组.从哪里开始 – 写出线,否则,写出排序的行,例如:

from itertools import groupbywith open('input') as fin,open('output','w') as fout:  for k,g in groupby(fin,lambda L: L.startswith('-')):    if k:      fout.writelines(g)    else:      fout.writelines(sorted(g,key=int))
总结

以上是内存溢出为你收集整理的文件读取和python中的for循环全部内容,希望文章能够帮你解决文件读取和python中的for循环所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存