【发布时间】:2017-10-28 09:52:48
【问题描述】:
我的问题是,如何只打印尚未打印的项目?
(这只是代码的一部分)。
我有一个包含 15 个项目的数组,必须洗牌,然后只打印 e/2 的数量。我尝试使用数组中项目的索引制作第二个列表,然后仅打印列表中存在的索引和项目。如果索引不在我的列表中,则不会打印。每次打印后,项目的索引都会从我的组合列表中删除,因此不会第二次打印。
def tryitem(self,c,list1):
if c not in lista:
c = random.randint(0, 14)
self.tryitem(c,list1)
else:
pass
...some code...
list1 = list(range(15))
for i in range(int(e/2)):
c = random.randint(0, 14)
print(c)
self.tryitem(c,list1)
but= ttk.Button(root, text=str(item.myItem[c][0])+" x"+str(item.myItem[c][1]))
but.place(anchor=W,x=20,y=wysokosc,width=170,height=25)
wysokosc+=25
list1.remove(item.myItem[c][2])
项目的索引位于myItem[c][2] 列
首先这个方法不能正常工作,因为它打印了一些项目两到三遍,在打印一些之后我得到了错误
ValueError: list.remove(x): x 不在列表中
【问题讨论】:
-
用字典代替列表。
-
什么是
e?exp(1)? -
不,它只是一个介于 1 和 30 之间的数字
标签: python