使用Python3。你知道吗
我必须编写一个包含一个参数(字符串)的函数,并且必须从包含序列(键)和序列(值)名称的txt文件中返回字典。键和值都必须是字符串。你知道吗
文本文件:
Read1 GGCTCCCCACGGGGTACCCATAACTTGACAGTAGATCTCGTCCAGACCCCTAGC
Read2 CTTTACCCGGAAGAGCGGGACGCTGCCCTGCGCGATTCCAGGCTCCCCACGGG
Read4 TGCGAGGGAAGTGAAGTATTTGACCCTTTACCCGGAAGAGCG
Read3 GTCTTCAGTAGAAAATTGTTTTTTTCTTCCAAGAGGTCGGAGTCGTGAACACATCAGT
Read5 CGATTCCAGGCTCCCCACGGGGTACCCATAACTTGACAGTAGATCTC
Read6 TGACAGTAGATCTCGTCCAGACCCCTAGCTGGTACGTCTTCAGTAGAAAATTGTTTTTTTCTTCCAAGAGGTCGGAGT
我已经走了这么远,但我想我遗漏了一些东西,我不知道我在这里的工作是否正确。我已经用#标出了我怀疑它是否正确的地方。你知道吗
def read_data(file_name):
input_file=open(sequencing_reads.txt)
#sequence_dict={}
for line in input_file:
#x=line.split(",")
#return sequence_dict
input_file.close()
我知道它必须返回包含以下内容的词典:
{'Read1': 'GGCTCCCCACGGGGTACCCATAACTTGACAGTAGATCTCGTCCAGACCCCTAGC',
'Read2': 'CTTTACCCGGAAGAGCGGGACGCTGCCCTGCGCGATTCCAGGCTCCCCACGGG',
'Read4': 'TGCGAGGGAAGTGAAGTATTTGACCCTTTACCCGGAAGAGCG',
'Read3': 'GTCTTCAGTAGAAAATTGTTTTTTTCTTCCAAGAGGTCGGAGTCGTGAACACATCAGT',
'Read5': 'CGATTCCAGGCTCCCCACGGGGTACCCATAACTTGACAGTAGATCTC',
'Read6': 'TGACAGTAGATCTCGTCCAGACCCCTAGCTGGTACGTCTTCAGTAGAAAATTGTTTTTTTCTTCCAAGAGGTCGGAGT'}
你能帮我填补空白吗?你知道吗
编辑:我需要保持简单,所以请不要进口的软件包和聪明的把戏:-)
编辑2:
我也试过这个:
with open('sequencing_reads.txt', 'r') as document:
answer = {}
for line in document:
line = line.split()
if not line:
continue
answer[line[0]] = line[1:]
print(answer)
输出为:
{'Read1': ['GGCTCCCCACGGGGTACCCATAACTTGACAGTAGATCTCGTCCAGACCCCTAGC'], 'Read2': ['CTTTACCCGGAAGAGCGGGACGCTGCCCTGCGCGATTCCAGGCTCCCCACGGG'], 'Read4': ['TGCGAGGGAAGTGAAGTATTTGACCCTTTACCCGGAAGAGCG'], 'Read3': ['GTCTTCAGTAGAAAATTGTTTTTTTCTTCCAAGAGGTCGGAGTCGTGAACACATCAGT'], 'Read5': ['CGATTCCAGGCTCCCCACGGGGTACCCATAACTTGACAGTAGATCTC'], 'Read6': ['TGACAGTAGATCTCGTCCAGACCCCTAGCTGGTACGTCTTCAGTAGAAAATTGTTTTTTTCTTCCAAGAGGTCGGAGT']}
我如何去掉序列中的“[]”?你知道吗
编辑4:
def read_data(file_name):
with open("sequencing_reads.txt", "r") as document:
answer = {}
for line in document:
line = line.split()
if not line:
continue
answer[line[0]] = line[1:]
final_answer = {a:b[0] for a, b in answer.items()}
final_answer = read_data("sequencing_reads.txt")
print(final_answer)
印刷品:
None
您的文件
"sequencing_reads.txt"
是json格式的。您可以使用python标准库中的json模块很容易地将内容加载到字典中。你知道吗首先,如果您的文件是json格式的,并且在单独的行中,您应该将其读入一行,可能如下所示:
第二,法律json.loads文件字符串需要双引号(例如:{“a”:“a”})。如果使用单引号(如示例中所示),则可能会出现错误。所以你可以这样做:
你可以试试这个:
输出:
编辑:
编辑1:关于删除括号,只需通过索引访问值:
如果打印从
read_data
返回的值时遇到问题,可以尝试以下方法:编辑3:
相关问题 更多 >
编程相关推荐