在列表列表中获取前一个元素

时间:2015-10-20 22:36:53

标签: python python-3.x

我有一个列表the_list = [[3, 2, 0, 1, 4, 5], [4, 2, 1, 3, 0, 5], [0, 1, 2, 3, 4, 5]]。如何打印the_list中三个列表中随机选择的元素中的前一个元素。如果随机选择的元素位于索引0,则前一个元素将是列表末尾的元素。例如,如果我为列表选择rande = 3,那么我将得到以下输出:

5
1
2

如何在具有最高效时间复杂度的同时对其进行编码?

2 个答案:

答案 0 :(得分:4)

使用list.index()方法并利用负数从最后索引list这一事实:

>>> the_list = [[3, 2, 0, 1, 4, 5], [4, 2, 1, 3, 0, 5], [0, 1, 2, 3, 4, 5]]
>>> rande = 3
>>> for subl in the_list:
...     print(subl[subl.index(rande)-1])
...
5
1
2

答案 1 :(得分:1)

for 3

l = [[3, 2, 0, 1, 4, 5], [4, 2, 1, 3, 0, 5], [0, 1, 2, 3, 4, 5]]

>>> list(map(lambda x: x[(x.index(3) -1)],l))

[5, 1, 2]