我想从元组列表中选择一个随机元组并将其添加到另一个列表中。但只有元组中的单个数字不在列表中。 我试过这个但它失败了:
from random import choice
MyList = []
T = [(1,2),(3,4),(5,6),(1,3)]
while len(MyList) <=4:
p = choice(T)
p1 = p[0]
p2 = p[1]
if p1,p2 not in MyList:
MyList.append(p1,p2)
答案 0 :(得分:1)
while len(myList) <= 4:
p = choice(T)
if not any(i in myList for i in p):
myList.extend(p)
>>> myList
[1, 2, 5, 6, 3, 4]
因此,要检查列表中是否有多个元素,您可以使用我上面显示的内容
if not any(i in myList for i in p):
答案 1 :(得分:0)
如果订单不重要,您可以使用集而不是列表
from random import choice
from sets import Set
MyList = Set()
T = [(1,2),(3,4),(5,6),(1,3)]
while len(MyList) <=4:
MyList.update(choice(T))
>>> MyList
Set([1, 2, 3, 5, 6])
答案 2 :(得分:0)
插入时将元组的单个数字放入集合中,并在插入之前检查元组的编号是否在集合中。