Python - 取一个列表并返回有序对中的随机元素(必须是可变的)

问题描述:

我有一个列表,我想从中随机取出2个列表。如果我的列表是1,2,3,4,5 ...我想返回2和3或3和4或1和2但不是1和4等。我知道如何使用随机和从文件中读取并转换成一个名为“单词”的列表,所以我可以遍历“单词”并拉出任意两个相邻的随机单词,并将它们一对一地传递给一个新的变量?Python - 取一个列表并返回有序对中的随机元素(必须是可变的)

可以从0选取一个随机索引n-2(其中n是列表的长度),然后选择该索引和它的相邻值:

from random import randint 
lst = [1, 2, 3, 4, 5] 
index = randint(0, len(lst)-2) 
pair = lst[index:index+2] # return [4, 5] or [1, 2], etc.. 

这将返回一个列表,它是可变的。

+0

好的很好,那会工作得很好。我去做。谢谢! –

+0

如果我的清单中的项目是字符串,该怎么办? –

+0

然后你会得到成对的字符串,而不是数字对。 –