【问题标题】:How to assign multiple values to an array of strings in python如何为python中的字符串数组分配多个值
【发布时间】:2016-08-09 20:47:02
【问题描述】:

我正在逐行读取文件,并尝试解析每行的一部分并对其进行处理。我试图解析的信息是 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。

分配这些值的最佳方法是什么? (请记住,某些“信息”在数组中可能有 23 或 24 个值,在这种情况下,我想为缺失值分配一个空字符串,缺失值只会在末尾,因此不会混淆缺少哪些变量)

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

谢谢! :)

【问题讨论】:

  • 如果您正在读取一个文件,并且它看起来像 CSV 格式,那么使用DictReader会为您省去很多麻烦

标签: python arrays for-loop


【解决方案1】:

您的第一个版本的代码似乎没有太大问题。我不知道您为什么认为“显然”应该是更好的方法。

您可以做的一件事使这更清楚一点:

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

但我怀疑这是否会使它变得更好。

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

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 2019-04-15
    • 2021-12-28
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2022-07-06
    相关资源
    最近更新 更多