Редактирование нескольких переменных в нескольких списках в python3 - PullRequest
0 голосов
/ 05 ноября 2018

Если у меня есть следующий список:

[['New York', '0.0', '5.0'], ['Boston', '10.2', '0.0'], ['Tokyo', '11.5', '3.3'], ['Paris', '9.5', '4.8']]

Как я могу удалить все первые переменные (города) в списках, чтобы я получил следующее:

[['0.0', '5.0'], ['10.2', '0.0'], ['11.5', '3.3'], ['9.5', '4.8']]

Если значения будут введены, повлияет ли это на то, как мне придется это делать, поскольку количество списков и переменных будет отличаться каждый раз?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вы можете использовать понимание списка:

L = [['New York', '0.0', '5.0'], ['Boston', '10.2', '0.0'],
     ['Tokyo', '11.5', '3.3'], ['Paris', '9.5', '4.8']]

res = [i[1:] for i in L]

Функционально вы можете использовать operator.itemgetter:

from operator import itemgetter

res = list(map(list, map(itemgetter(1, 2), L)))

Результат:

[['0.0', '5.0'], ['10.2', '0.0'], ['11.5', '3.3'], ['9.5', '4.8']]
0 голосов
/ 05 ноября 2018

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

list_one = [['New York', '0.0', '5.0'], ['Boston', '10.2', '0.0'], ['Tokyo', '11.5', '3.3'], ['Paris', '9.5', '4.8']]
[item[1:] for item in list_one]

Выход:

[['0.0', '5.0'], ['10.2', '0.0'], ['11.5', '3.3'], ['9.5', '4.8']]

Использование [1:] переводит каждый элемент с позиции 1 (т. Е. Все, кроме первого элемента)

...