从列表中的所有成员中剥离

时间:2011-10-31 04:56:54

标签: python list formatting strip

好的,所以我通过执行以下操作将文本文件中的每一行转换为列表成员:
chkseq=[line.strip() for line in open("sequence.txt")]所以当我打印chkseq时,我得到了:
['3','3']
我想要的是它看起来像这样:
[3,3]我知道这是可能的,我只是不确定如何!我需要他们成为插入者,而不是字符串。因此,如果所有其他方法都失败了,这是我的主要目标:从.txt文件创建一个列表,其成员是整数(这将包含所有.txt文件)。
谢谢! -OSFTW

4 个答案:

答案 0 :(得分:2)

看起来您想将字符串解释为整数。使用int执行此操作:

chkseq = [int(line) for line in open("sequence.txt")] 

它也可以使用map而不是列表理解来编写:

chkseq = map(int, open("sequence.txt"))

答案 1 :(得分:1)

迭代列表中的元素并使用您首选的格式打印出来,而不是在一次打印整个列表时依赖于默认格式。

答案 2 :(得分:0)

假设您的数组被称为输入,并且您希望将值存储在名为chkseq的数组中,您的代码将是:

chkseq = [int(i) for i in input]

或者,如果你想在一行中做所有事情:

chkseq = [int(i.strip()) for i in open("sequence.txt")]

答案 3 :(得分:0)

将字符串传递给int构造函数会尝试将其转换为int

>>> int('3')
3
>>> int('foo')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'foo'