【发布时间】:2018-04-12 11:42:21
【问题描述】:
如果内容存在不止一个,我想用tuple 填充tkinter Listbox,只应插入其中一个内容。已在此站点上搜索没有得到解决该问题的答案。
from tkinter import *
rows = (('python', 'kivy'), ('python', 'tkinter'),("python","wxpython",32),
('PHP', 'bootstrap'),('html', 'ajax'),('html', 'css'), ('python', 'tkinter'))
root = Tk()
l = Listbox(root)
for row in rows:
if row[0] not in rows:
l.insert(END, row[0])
l.pack()
root.mainloop()
【问题讨论】:
-
您希望
if row[0] not in rows:做什么?您正在检查字符串是否不在元组列表中。这将始终返回True,因为元组永远不会等于字符串。您究竟希望 Listbox 中的结果是什么样的? -
想要
python, PHP, html -
那么最简单的方法就是使用
unique = set([row[0] for row in rows])之类的东西预先获取唯一值。然后,您可以循环访问unique,而无需打扰if。