我有一个列表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
如何在具有最高效时间复杂度的同时对其进行编码?
答案 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]