Перечислить преобразование объектов в integer

У меня есть список:

nums=[[19],[5],[23],[6],[10]]. 

Есть ли способ конвертировать объект списка в «простой» объект?

Итак, [19] станет фактическим целым числом 19 ? Может быть, какой-то тип кастинга?

Это, пожалуй, самый ясный подход:

 nums = [[19],[5],[23],[6],[10]] ints = [i[0] for i in nums] 

Есть и другие поучительные способы сделать это.

Распаковка с элемента работает (что ясно показывает, что в каждом элементе есть только один элемент, и будет выдача ошибки при распаковке, если их больше одного):

 unpacked_ints = [i for i, in nums] 

Или может появляться из каждого подсписок (последний элемент, который удаляет его из подсписчика, он больше не будет, если вы держите ссылку на подсписки):

 popped_ints = [i.pop() for i in nums] 

или functionally ( operator.itemgetter возвращает частичную функцию, такую ​​как lambda x: x[0] ):

 import operator ints2 = list(map(operator.itemgetter(0), nums)) 

в Python2 нет необходимости перечислить список:

 import operator ints3 = map(operator.itemgetter(0), nums) 

EDIT в ответ на комментарий:

Теперь ваш комментарий состоит в том, что вы имеете дело с большим итерабельным, возможно, не хотите материализовать все это в памяти. Это все еще не меняет того, как я рекомендую вам с этим справиться. Я понимаю, что вы хотели бы это сделать:

 for i in nums: my_process(i) 

Поэтому я бы порекомендовал вам сделать это:

 for i in nums: my_process(i[0]) 

Другой вариант – сгладить список.

 nums = [[19],[5],[23],[6],[10]] nums = [num for numlist in nums for num in numlist] 

Или, но только если вы хотите раздражать любого, кто читает ваш код:

 n = [[19],[5],[23],[6],[10]] n = [n for n in n for n in n] 

😉

Самое простое решение – в stdlib: https://docs.python.org/2/library/itertools.html#itertools.chain.from_iterable

 import itertools nums=[[19],[5],[23],[6],[10]] print list(itertools.chain.from_iterable(nums)) # [19, 5, 23, 6, 10]