我找到了函数pop()
,它将从列表中删除一个值。但是,我想从列表中随机删除两个值,但两个数字必须相邻。例如,在[1, 2, 3, 4, 5]
的列表中,如果我随机选择了2
和pop()
,我还想删除1
或3
我需要存储数字(p和q),以便以后计算,以下是我目前的代码:
nlist = [1, 2, 3, 4, 5]
shuffle(nlist)
while nlist:
p = nlist.pop(random.randrange(len(nlist)))
#save p and one adjacent value (q) within this loop
#remove p and q from list
删除元素时需要处理一些边缘情况,即
p
是列表中的第一个或最后一个元素。它使用一个方便的random
函数choice
来确定您选择的相邻元素您可以尝试以下方法:
输出:
您可以选择
randrange
跨一个小于列表长度的索引,然后弹出同一索引两次:相关问题 更多 >
编程相关推荐