2016-09-23 3 views
3

Ich habe die folgende Liste von Werten:Wie konvertiert man eine String-Liste in Integer in Python?

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

Wie kann ich wandeln es in:

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

Hinweis: Ich habe bereits versucht, die folgenden aber alle arbeiten nicht in 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] 

Bitte helfen Sie mir dabei. Vielen Dank!!

Antwort

5

Ihre dritte ist eigentlich richtig. In Python 3 map gibt ein Map-Objekt zurück, so dass Sie einfach list darauf aufrufen müssen, um eine Liste zu erhalten.

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

Jetzt funktioniert es perfekt. Vielen Dank!! – Utkarsh

Verwandte Themen