Python:将数字放入列表中

Python:将数字放入列表中,python,Python,我有一个如下所示的文本文件: 1 acatccacgg atgaaggaga ggagaaatgt ttcaaatcag ttctaacacg aaaaccaatt 61 ccaagaccaa gttatgaaat taccactaag cagcagtgaa agaactacat attgaagtca 121 gataagaaag caagctgaag agcaagcact gggcatcttt cttgaaaaaa gtaaggccca 181 agtaacagac ta

我有一个如下所示的文本文件:

    1 acatccacgg atgaaggaga ggagaaatgt ttcaaatcag ttctaacacg aaaaccaatt
   61 ccaagaccaa gttatgaaat taccactaag cagcagtgaa agaactacat attgaagtca
  121 gataagaaag caagctgaag agcaagcact gggcatcttt cttgaaaaaa gtaaggccca
  181 agtaacagac tatcagattt ttttgcagtc tttgcattcc tactagatga ttcacagaga
  241 agatagtcac atttatcatt cgaaaacatg aaagaattcc agtcagaact tgcatttggg
  301 ggcatgtaag tctcaaggtt gtctttttgc caatgtgctg taacattatt gcactcagag
  361 tgtactgctg acagccactg ttctgccgaa atgacagaaa atagggaaca
我正在尝试读取txt文件并制作一个字典,将文本信息放入这样的字典:{1:[acatccacgg,atgaaggaga,ggagaatgt,ttcaaatcag,ttctaaccag,aaaaaaccaatt],61:…}
我不知道怎么做……我对python真的很陌生,你可以试试这行代码

f = open('test.txt','r')
mydictionary = {}
for x in f:
    temp = x.strip().split(' ')
    mydictionary.update({temp[0]:temp[1:]})
f.close()
print(mydictionary)

这是一种更干净、更可读的方法(只要尝试一下,您就会明白):


你可能会使用re(正则表达式),我会在几分钟后发布答案,因为我也做过类似的项目。是的,
re
可能是最好的方法,但是如果您试图阅读文本文件,那么请查看此网站,如果我没有错过一些内容,请逐行阅读文件,并按空格分割,这样您就可以做您想做的事情。数字始终是行中的第一个字段?如果从文件中读取,
x
将是一个
str
。不需要
str(x)
import re
from os.path import exists


def put_in_dict(directory: str):
     """With this function you can find the digits's in every line and
     then put it in keys and then you can put the character's in the same line
     as value to that key."""
    my_dict = {}
    pattern_digit = re.compile(r"\d+")
    pattern_char = re.compile(r"\w+")
    char = []
    if exists(directory):
        with open(f"{directory}") as file:
             all_text = file.read().strip()

        list_txt = all_text.splitlines()
        numbs = pattern_digit.findall(all_text)

        for num in range(len(list_txt)):
            char.append(pattern_char.findall(list_txt[num]))
            del char[num][0]

        for dict_set in range(len(numbs)):
            my_dict[numbs[dict_set]] = char[dict_set]

    return my_dict  # you could make it print(my_dict) too