-
陪伴而非守候
你有正确的想法。如果列表中的列表只有一层深,您可以像尝试做的那样使用列表理解和 -1 索引访问第一个和最后一个元素:a = [[sublist[0],sublist[-1]] for sublist in x]输出:>>> a
[[1, 3], [4, 6], [7, 9]]
-
倚天杖
以下是如何使用列表切片:x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
x = [l[::len(l)-1] for l in x]
print(x)输出:[[1, 3], [4, 6], [7, 9]]
-
慕容3067478
x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>>> [a[:1] + a[-1:] for a in x][[1, 3], [4, 6], [7, 9]]我提取了 2 个切片,一个包含第一个元素,一个包含最后一个元素,然后将它们连接起来。即使子列表的长度不同,它也会起作用。
-
拉风的咖菲猫
您可以遍历列表并从那里访问它们:x=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]out = []for arr in x: out.append([arr[0], arr[-1]])print(out)输出:[[1, 3], [4, 6], [7, 9]]此外,您可以使用列表理解:out = [[arr[0], arr[-1]] for arr in x]
-
哈士奇WWW
我建议这样做。该list[-1]语法旨在获取您想要的列表中的最后一个元素。x=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]for elem in x: print(elem[0], elem[-1])这只是以标准格式打印它们,但按此顺序将它们放回新列表中会很简单。
-
梵蒂冈之花
这有效:x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]for item in x: print(item[0], item[2])对于您想要的确切结果,请使用:x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]new_list = []for item in x: new_list.append([item[0], item[2]])print(new_list)