gpt4 book ai didi

python - 为 wxPython 格式化 dict.items()

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:08 25 4
gpt4 key购买 nike

我在 wxPython 中有一个文本框,它获取 dictionary.items() 的输出并在项目添加到字典时将其显示给用户。然而,原始数据非常丑陋,看起来像

[(u'BC',45)
(u'CHM',25)
(u'CPM',30)]

我知道 dictionary.items() 是一个元组列表,但我似乎无法弄清楚如何制作一个与 wxPython 的 SetValue() 方法兼容的漂亮格式。

我已经尝试遍历列表和元组。如果我使用 print 语句,输出就没问题。但是当我用 SetValue() 替换 print 语句时,它似乎只得到每个元组的最后一个值,而不是元组中的两个项目。

我也试过创建一个字符串并将该字符串传递给 SetValue() 但是,同样,我只能获取元组中的一个项目或另一个,而不是两者。

有什么建议吗?


编辑: 是的,我将 dictionary.items() 的结果传递给 wxPython 应用程序中的文本字段。而不是像上面那样的结果,我只是在寻找类似的东西:

BC 45
CHM 25
CMP 30

没什么特别的,只是简单地从每个元组中提取每个值并制作一个可视化列表。

我尝试制作一个字符串格式并将其传递给 SetValue() 但它被卡在元组中的两个值上。它会双重打印每个字符串并将整数加在一起,或者它只是返回整数,具体取决于我如何格式化它。

最佳答案

没有内置的字典方法可以返回您想要的结果。

但是,您可以通过创建一个格式化字典的辅助函数来实现您的目标,例如:

def getNiceDictRepr(aDict):
return '\n'.join('%s %s' % t for t in aDict.iteritems())

这将产生您想要的输出:

>>> myDict = dict([(u'BC',45), (u'CHM',25), (u'CPM',30)])
>>> print getNiceDictRepr(myDict)
BC 45
CHM 25
CPM 30

然后,在您的应用程序代码中,您可以通过将其传递给 SetValue 来使用它:

self.textCtrl.SetValue(getNiceDictRepr(myDict))

关于python - 为 wxPython 格式化 dict.items(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/237859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com