如何在python中为字符串数组分配多个值
我正在逐行阅读一个文件,试图解析每行的一部分,并用它做一些事情。我试图解析的信息是25个字符串 我试着去做如何在python中为字符串数组分配多个值,python,arrays,for-loop,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):
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=""
在哪里
但这不起作用,它打印空字符串,计数器始终为零,即使信息列表的长度为25
分配这些值的最佳方式是什么?(请记住,一些“infos”在数组中可能有23或24个值,在这种情况下,我希望为缺少的值分配一个空字符串,缺少的值只会在末尾,这样就不会混淆缺少哪些变量了)
如果我可以添加更多信息,请告诉我
谢谢!:) 您的第一个版本的代码似乎没有太大的错误。我不知道你为什么认为“显然”应该有更好的办法 您可以做的一件事是让这一点更加清楚:
if len(info) == 25:
Consequence, IMPACT , . . ., HGNC_ID = info
elif len(info) == 24:
Consequence , IMPACT , . . ., HGNC_ID = info + ''
但我怀疑这是否会让事情变得更好
您可能想考虑的不是使用变量,而是使用哈希表或命名元组来从行中读取值。
如果您正在从文件中读取,并且它看起来像CSV格式,您将通过使用<代码> DictReader < /代码>来省去许多麻烦。if len(info) == 25:
Consequence, IMPACT , . . ., HGNC_ID = info
elif len(info) == 24:
Consequence , IMPACT , . . ., HGNC_ID = info + ''