2016-09-23 4 views
3

У меня есть следующий список значений:Как преобразовать список строк в целое число в python?

DATA = [['5', '1'], ['5', '5'], ['3', '1'], ['6', '1'], ['4', '3']] 

Как я могу преобразовать его в:

DATA = [[5, 1], [5, 5], [3, 1], [6, 1], [4, 3]] 

Примечание: Я уже пробовал следующие, но все они не работают в Python 3:

1. DATA = [int(i) for i in DATA] 
    2. DATA = list(list(int(a) for a in b) for b in DA if a.isdigit()) 
    3. DATA = [map(int,x) for x in DATA] 

Пожалуйста, помогите мне с этим. Благодаря!!

ответ

5

Ваш третий действительно правильный. В Python 3 map возвращает объект карты, поэтому вам нужно позвонить только list, чтобы получить список .

DATA = [['5', '1'], ['5', '5'], ['3', '1'], ['6', '1'], ['4', '3']] 

d = [list(map(int, x)) for x in DATA] 

# Output: 
# [[5, 1], [5, 5], [3, 1], [6, 1], [4, 3]] 

# type of one of the items in the sublist 
# print(type(d[0][0]) 
# <class 'int'> 
+1

Теперь он работает отлично. Благодаря!! – Utkarsh

Смежные вопросы