раздеть всех участников списка - PullRequest
0 голосов
/ 31 октября 2011

Хорошо, поэтому я преобразовал каждую строку в текстовом файле в элемент списка, выполнив следующие действия:chkseq=[line.strip() for line in open("sequence.txt")]Поэтому, когда я печатаю chkseq, я получаю это:['3','3']Я хотел бы, чтобы он выглядел так:[3,3]Я знаю, что это возможно, я просто не уверен, как!Мне нужно, чтобы они были интергерами, а не струнами.Поэтому, если ничего не помогает, моя главная цель в этом: создать список из файла .txt, членами которого являются целые числа (который будет содержать весь файл .txt).Спасибо!!-OSFTW

Ответы [ 4 ]

2 голосов
/ 31 октября 2011

Похоже, вы хотите интерпретировать строки как целые числа.Для этого используйте int:

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

Его также можно написать, используя map вместо понимания списка:

chkseq = map(int, open("sequence.txt"))
1 голос
/ 31 октября 2011

перебирайте элементы вашего списка и распечатывайте их с вашим предпочтительным форматированием, а не полагайтесь на форматирование по умолчанию при печати всего списка сразу.

0 голосов
/ 31 октября 2011

Передача строки конструктору 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'
0 голосов
/ 31 октября 2011

Скажем, ваш массив называется входным, и вы хотите сохранить значение в массиве с именем chkseq, ваш код будет выглядеть так:

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

Или, если вы хотите сделать все все в одной строке:

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