我有一个list,the_list = [[3, 2, 0, 1, 4, 5], [4, 2, 1, 3, 0, 5], [0, 1, 2, 3, 4, 5]],.How,从the_list中的三个列表中任意随机选择的元素中打印前一个元素。如果随机选择的元素位于索引0,则前一个元素将是列表末尾的元素。例如,如果我为列表选择rande = 3,那么我将得到以下输出:
5
1
2如何在具有最有效时间复杂度的情况下对此进行编码?
发布于 2015-10-20 22:44:45
使用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发布于 2015-10-20 22:54:55
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]https://stackoverflow.com/questions/33248009
复制相似问题