как изменить тип данных второго элемента во вложенном списке - PullRequest
0 голосов
/ 21 декабря 2018
nested_list = [['bob', '444'], ['steve', '111'], ['mark', '888']]

Я хочу преобразовать второй элемент в каждом вложенном списке в тип int.Я пытаюсь что-то вроде этого

nested_list2 = []
[int(x[1]) for x in nested_list]

, это преобразует второй элемент в int, но я теряю остальные данные.

Я тоже пробовал это, но это разрушает мойструктура вложенного списка:

 [nested_list2.extend((x[0], int(x[1]))) for x in testlist]

Возможно ли здесь получить что-то вроде следующего

 nested_list2 = [['bob', 444], ['steve', 111], ['mark', 888]]

Ответы [ 3 ]

0 голосов
/ 21 декабря 2018
nested_list = [['bob', '444'], ['steve', '111'], ['mark', '888']]
for x in nested_list:
    x[1]=int(x[1])
0 голосов
/ 21 декабря 2018
nested_list2=[]
temp=[]
for i in nested_list:
    for j in i:
        temp.append(j)
    nested_list2.append(temp)
    temp=[]
for i in nested_list2:
    i[1]=int(i[1])

Попробуйте и дайте мне знать, если это то, что вам нужно.Ура! * * 1002

0 голосов
/ 21 декабря 2018

Понимание списка должно использоваться для создания нового списка, а не для изменения существующего списка на месте:

nested_list = [['bob', '444'], ['steve', '111'], ['mark', '888']]

res = [[name, int(num)] for name, num in nested_list]

# [['bob', 444], ['steve', 111], ['mark', 888]]
...