如何在python中为字符串数组赋值多个值

时间:2016-08-09 20:47:02

标签: python arrays for-loop

我正逐行阅读文件,并试图解析每一行的一部分并用它做任务。我尝试解析的信息是25个字符串

我正在尝试

for i in info:
  Consequence=i[0]    
  IMPACT=i[1]
  .
  .
  HGNC_ID = i[24]

但显然有更好的方法。我尝试制作所有字符串的列表并将它们初始化为空字符串,然后执行:

                  for counter,val in enumerate(info_list):

                    try:
                        val=i[counter]
                        break
                    except:
                        val=""

,其中

info_list=(Allele,Consequence...)

虽然不起作用,但它打印空字符串并且计数器始终为零,即使info_list的长度为25。

分配这些值的最佳方法是什么? (请记住,某些" infos"数组中可能有23或24个值,在这种情况下,我希望为缺失值分配一个空字符串,缺少的值只会在最后没有混淆哪些变量缺失)

如果我可以添加更多信息,请告诉我们!

谢谢! :)

1 个答案:

答案 0 :(得分:0)

您的第一个代码版本似乎没有太大问题。我不知道你为什么在那里思考"显然"应该是更好的方式。

你可以做的一件事就是让它更清晰:

if len(info) == 25:
    Consequence, IMPACT , . . ., HGNC_ID  = info
elif len(info) == 24:
    Consequence , IMPACT , . . ., HGNC_ID = info + ''

但我怀疑这是否能让它变得更好。

您可能想要考虑的不是使用变量,而是使用哈希表或命名元组来表示从该行读取的值。