为什么我的列表会返回字符而不是项目?
问题描述:
这是一个非常基本的问题,但我很难理解这是为什么。为什么我的列表会返回字符而不是项目?
以与新线分离,列出一个文件,如果我使用这个脚本...
#!/usr/bin/python
import sys
fil = open(sys.argv[1])
for line in fil:
linearr = line.strip('\n')
print linearr[0]
我回来了“[”(第一列表的性格,开始支架)。
为什么打印此字符而不是列表中的第一项?是否因为列表已经存在于文件中,而您没有将它们放在脚本中?
名单看起来就像这样......
['fig|357276.26.peg.4402', 'COG0776']
,它应该打印的第一个项目,但没有。
答
linearr是一个字符串。您将返回字符串中的第一个字符。你的意思是做split()吗? Split是你从一个字符串中创建一个数组所需要的。
+0
*分割就是你需要从一个字符串中创建一个数组*这是真实的,但不是OP所需要的 –
+0
他希望从每一行(这是一个字符串)解析出一个列表,这样他就可以得到第一个条目。他应该去掉条(包括括号),然后在','处进行分割以获得第一个条目。不知道你是什么意思,他正在寻找。 – Javeed
你对它执行一个字符串方法,然后想知道它为什么像一个字符串? – TigerhawkT3