将列表中的第四个项目保存到python中的字典中的键中

问题描述

我需要将列表的每四个项目另存为python中的键,然后从第四个项目每5个开始作为值,并从第四个项目每6个作为值开始(该值将是一个列表)>

我有一个文本文件,如下所示: GeneID NumC NumL数字 ENSEMBL001 15 5 30 ENSEMBL002 60 0 10 ENSEMBL003 25 5 41 ENSEMBL004 20 7 0 ENSEMBL005 40 22 67 ENSEMBL006 81 77 9 ENSEMBL007 2 88 2 ENSEMBL008 8 62 90

我想制作一个字典,其中“ ENSEMBL”值为键,而前两个数字为与该键关联的值

我为字典的第一个值编写了代码

    dict_lung = {
        file_name[4] : (file_name[5],file_name[6])
    }

打印后,这将是一个字典,其键为ENSEMBL001,值(15,5)

我想要做的是让字典浏览整个文本文件并保存这些值。例如,字典中保存的下一个键和值将是

file_name[8] : (file_name[9],file_name[10])

我已经尝试过进行for循环,但是不断出现错误,我们将不胜感激

解决方法

因此,基本上,这是一个硬编码的问题。它基于您使用的逻辑:

但是您可以使用以下循环,其中MAX将是允许的索引的最大数量(请不要忘记您需要谨慎地超过该列表):

for i in range(4,MAX,4):
    dict_lung = { file_name[i] : (file_name[i+1],file_name[i+2]) }

从注释循环中:

i=4 j=5 k=6 
for i,j,k in list: 
    dict_lung = { file_name[i] : (file_name[j],file_name[k]) } 
    i+4 j+4 k+4

我不确定list是什么,但是它不是包含3个元组的列表。请阅读有关在python https://www.geeksforgeeks.org/packing-and-unpacking-arguments-in-python/中解包的信息。