很简单的问题,但我有足够长的时间去问。代码如下:
f4 = open("genomekey2.txt", 'rb')
keyline = f4.readline()
keygenomes = []
for keyline in f4:
keygenomes.append(keyline[:-1])
genomekey2.txt文件格式如下所示
^{pr2}$问题是当我打印genomekey列表时,它包含了我想要的所有条目,但是在列表中找到的每个[]都用引号括起来。我想去掉引号,这样我就可以把它与另一个列表进行比较,但到目前为止还没有找到方法。我试过。。。在
for a in keygenomes:
a.replace('"', '')
但那似乎没用。我更喜欢一个根本不加引号的解决方案。它们到底是用来做什么的?代码的哪一部分(.append,.readline())负责添加它们?这是一个初学者的问题,但你们看起来很不错。在
编辑:我最终想把它和一个这样格式化的列表进行比较
[['Arthrospira maxima CS-328',['proc chlorococus marinus str.MIT 9301'],['Synechococcus sp.CC9605'],['Synechococcus sp.CB0205',['proc chlorocococus marinus str.MIT 9313',['Synechococcus sp.JA-3-3Ab',['Trichodesmium erythraeum IMS101',['Synechococcus sp.PCC 7335'],['Trichodesmium erythraeum IMS101'。。。在
编辑:所以我想我有一些事情需要解决,谢谢大家的帮助!这些引语干扰了列表的比较,所以我把它们也添加到第一个列表中,尽管我认为这只是模仿输入字符串的列表(我现在认为我理解了其中的区别),但它似乎起作用了
f4 = open("genomekey2.txt", 'rb')
keyline = f4.readline()
keygenomes = []
for keyline in f4:
keygenomes.append(keyline[:-1])
specieslist = " ".join(["%s" % el for el in specieslist])
nonconservedlist = [i for i in keygenomes if i not in specieslist]
编辑:是的,上面的方法可行,但我在这里找到了一个更优雅的解决方案(http://forums.devshed.com/python-programming-11/convert-string-to-list-71857.html)在更好地理解问题之后,感谢你们的帮助,如下所示:
for keyline in f4:
keyline = eval(keyline)
keygenomes.append(keyline)
谢谢!在
一个快速而肮脏的解决方案是跳过行的前两个字符和最后两个字符
否则使用regexp
^{pr2}$a.replace(...)
返回修改后的字符串,它不修改a
。在因此,您需要实际替换数组中的条目,或者在将它们放入数组之前修复它们。在
编辑:
我想我没有足够仔细地阅读这个问题,当你打印一个字符串时,
"
就会出现,它不是字符串本身的一部分。在根据您要将列表与之比较的内容,您似乎想要的是列表列表,而不是字符串列表。。。。也许是这个?在
您将遇到以下行的问题:
^{pr2}$引用不正确,这将破坏评估。有没有可能混用引号?像这样。。。在
相关问题 更多 >
编程相关推荐