Форматирование указанного элемента c в списке в python - PullRequest
0 голосов
/ 01 февраля 2020

Я новичок в python.

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

LIST = [ ['A','B','23'], ['C','D','2'], ['E','F','11'] ]

Я хочу изменить его ниже:

LIST2 = [ ['A','B',[23]] , ['C','D',[2]] , ['E','F',[11] ] ]

Третий элемент необходимо изменить, как показано выше.

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

Помощь будет оценена по достоинству!

Ответы [ 2 ]

3 голосов
/ 01 февраля 2020

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

l = [ ['A','B','23'], ['C','D','2'], ['E','F','11'] ]
o = [x[:2] + [[int(x[2])]] for x in l]

print(o)

Вывод:

[['A', 'B', [23]], ['C', 'D', [2]], ['E', 'F', [11]]]

Обратите внимание, что это не стоит называть переменные такими же, как внутренние объекты, такие как list, даже если вы меняете регистр.

2 голосов
/ 01 февраля 2020

Другой подход:

LIST = [ ['A','B','23'], ['C','D','2'], ['E','F','11'] ]

LIST2 = [[*head, [int(tail)]] for *head, tail in LIST]

print(LIST2)

Отпечатки:

[['A', 'B', [23]], ['C', 'D', [2]], ['E', 'F', [11]]]
...