在python3中的多个列表中编辑多个变量

时间:2018-11-05 11:20:08

标签: python python-3.x list input

如果我的列表如下:

[['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 :(得分:5)

您可以使用列表切片和理解来创建新列表。

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开始获取每个元素(即除第一个元素之外的所有元素)

答案 1 :(得分:2)

您可以使用列表理解:

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']]