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..
这将返回一个列表,它是可变的。
好的很好,那会工作得很好。我去做。谢谢! –
如果我的清单中的项目是字符串,该怎么办? –
然后你会得到成对的字符串,而不是数字对。 –