如果我的列表如下:
[['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']]
如果输入值,那么每次列表和变量的数量都会不同,这会影响我的操作方式吗?
答案 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']]