TypeError:'NoneType' 和 'str' 的实例之间不支持 '<'

新手上路,请多包涵

当我尝试使用我从 .db 文件中选择的集合的值来制作 ttk.Combobox 时,我遇到了这个错误。

 for row in self.sql.execute("SELECT {0} FROM Songinfo".format(self.variable1.get())):
        self.List2.append(row)
        self.seen.add(row)
self.Option2 = ttk.Combobox(self, values=sorted(self.seen), textvariable=self.variable2)
self.Option2.grid(row=3, column=1)

self.seen ,打印出来时返回如下内容:

 {('Heavy Metal',), ('Soundtrack',), ('Pop/Rock',), ('Metal',),
 ('Alternative',), ('Alternative & Punk',), ('Rock',),
 ('Pop',), ('Classical Crossover',), (None,)}

这是一组流派。我遇到了这个错误,我不确定为什么,直到最近这才成为问题,感谢您的帮助,谢谢。

原文由 Matthew Oujiri 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 405
2 个回答

从您的集合中删除有问题的元组:

 self.seen = {x for x in self.seen if x[0] is not None}

原文由 DYZ 发布,翻译遵循 CC BY-SA 4.0 许可协议

sorted(self.seen) 默认使用 < 。如果不需要,可以提供 cmp 或 key 函数。

原文由 Aaron Bentley 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题