我的wxPython应用程序有一个带有CheckListBox的窗口,该窗口显示MySQL数据库中保存的所有项目。对于选定的员工,他们所参与的项目应该被勾选。我正试着在盒子上打个号:-
indices = [i for i in range(len(lst)) if lst[i][0] in prjs]
self.checkListBox1.SetChecked(indices)其中lst是cursor.fetchall()返回的所有项目的列表,如下所示:
lst >(3L,“血压”),(1L,‘胆固醇’),(2L,‘糖尿病’,(6L,‘运动’),(5L,‘甲状腺’),(4L,‘体重/BMI’)<
而雇员所参与的项目包括:
prjs > ((2L,),(3L,),(6L,)) <
设置索引失败是因为返回的是一个元组而不是一个值。我显然可以用“mash”prjs来获得正确的格式,但是在MySQL返回中还是在设置索引方面是否有一个更优雅的解决方案呢?
发布于 2016-03-08 15:21:28
几个小时后,我设法解决了问题。我第一次尝试将prjs从((2L,),(3L,),(6L,))转换为(2L,3L,6L)的尝试失败了,因为当我试图匹配整数时,它以字符串的形式结束。
在钻研了更多的列表(Python列表和字典不是我的强项)之后,我想出了以下几点:
prjs = [e for e, in row]其中e是元组的第一个元素,行的结果是:-
sql = "SELECT ProjectMembership.idProjectGroup FROM ProjectMembership \
WHERE ProjectMembership.idPersonnel = " + str(PersonnelNo)
cursor.execute(sql)
row = cursor.fetchall()https://stackoverflow.com/questions/35867780
复制相似问题