dictionary - python 从dict生成具有特定标识符的文件

  显示原文与译文双语对照的内容
65 5

我们说一个 dict_a:

dict_a={'AAAAAAAAAAAAAA': 3,
 'CCCCCCCCCG': 5,
 'GGGGGGGGGGGTTTTTTTTTTT': 2,
 'AAAAAAAAAAAA': 4,
 'ATTTGAAT': 2}

我想保存为这样的文件:

1>3
AAAAAAAAAAAAAA
2>5
CCCCCCCCCG
3>2
GGGGGGGGGGGTTTTTTTTTTT
4>4
AAAAAAAAAAAA
5>2
ATTTGAAT

救命我在字典里有超过一百万条线。

时间:原作者:0个回答

145 3

使用 enumerate 建立索引,并使用 items 从字典中获取键和值。

>>> for idx, key_value in enumerate(a.items(), 1):
 print("{}>{}n{}".format(idx, key_value[1], key_value[0]))
1>3
AAAAAAAAAAAAAA
2>5
CCCCCCCCCG
3>2
GGGGGGGGGGGTTTTTTTTTTT
4>4
AAAAAAAAAAAA
5>2
ATTTGAAT

如果要将这些字符串写入文件,请使用 write 而不是 print

with open('result.txt', 'w') as f:
 for idx, key_value in enumerate(a.items(), 1):
 f.write("{}>{}n{}n".format(idx, key_value[1], key_value[0]))

为了确保你的字典能保留?除非你使用 python 3.7或者 OrderedDict,否则结果可能会改变。

原作者:
123 3

你应该在询问之前尝试编写一些代码,但解决方案如下:

with open("out.txt",'w') as f:
 for i, item in enumerate(dict_a.items(),1):
 f.write(str(i) + '>' + str(item[1]))
 f.write('n')
 f.write(item[0])
 f.write('n')
原作者:
136 4

如果你想附加到已经创建的文件中,则可以将'w'更改为'a'。你只需要遍历你的dict项并获取在输出文件中写入的键和值对。在这里,我使用f 字符串格式化输出字符串。

with open('filename', 'w') as output:
 i = 1
 for key,value in dict_a.items():
 output.write(f'{i}>{value}n{key}n')
 i += 1
原作者:
...