Python: список в целые числа - PullRequest
       44

Python: список в целые числа

1 голос
/ 15 декабря 2009

Я прочитал файл и преобразовал каждую строку в список. Пример списка выглядит так:

[15, 2, 0, 63, 3, 445, 456, 06, 23, 4, 0 ]

Я хочу получить первое число из каждого списка и преобразовать его в целое число, чтобы при выполнении функции типа, т.е.

type(x) 
<type 'int'> is returned

Также, когда я печатаю x, целые числа печатаются индивидуально, а не соединяются. то есть, если я взял первые 3 цифры из списка выше, цифры не печатаются как:

156323

Ответы [ 5 ]

7 голосов
/ 15 декабря 2009

Чтобы разыграть ваши целые:

my_ints = [int(l[0]) for l in your_list]

Чтобы распечатать их:

print "".join(map(str, my_ints))
3 голосов
/ 15 декабря 2009

Если вы хотите список с первым номером каждого списка, [int(L[0]) for L in lines] (при условии, что список списков называется lines); если вы хотите, чтобы первые два числа каждого списка (по вашему вопросу трудно сказать), [int(s) for L in lines for s in L[:2]]; и пр.

Если вам не нужен список таких чисел, а просто сделать одну итерацию для них, вы можете использовать выражение-генератор, т.е.

for number in (int(s) for L in lines for s in L[:2]):
  ...do something with number...

или эквивалентный подход с вложенным циклом, такой как:

for L in lines:
  for s in L[:2]:
    number = int(s)
    ...do something with number...
1 голос
/ 15 декабря 2009
# Converts all items in all lists to integers.
ls = [map(int, x) for x in the_first_list]

Или, если вы просто хотите первые два элемента:

ls = [map(int, x[:2]) for x in the_first_list]

В python 3.x вам также нужно будет обернуть карту в конструктор списка, например

ls = [list(map(int, x[:2])) ...
0 голосов
/ 15 декабря 2009
lines = [['15', '2', '0'], ['63', '3', '445', '456' '0'], ['23', '4', '0']]
first_values_as_ints = [int(line[0]) for line in lines]
for x in first_values_as_ints:
    print x,
0 голосов
/ 15 декабря 2009

Если я правильно понял ваш вопрос, это [int x[0] for x in list_of_lists]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...