【问题标题】:List Formatting in Tkinter Text BoxTkinter 文本框中的列表格式
【发布时间】:2013-10-03 13:58:52
【问题描述】:

我只是想知道是否有一种方法可以让列表中的每个元素显示在单独的行上,或者在 TKinter 的文本框中显示它们之间的一行。我现在拥有的是从另一个文件中提取的简单代码,但我不确定如何去做。

我的代码是这样的:

gui = compare.GCCCOMPARE.compare(mygcccompare)

root = Tk()
text = Text(root)
text.insert(INSERT,  gui)
text.pack() 
root.mainloop()

gui 是列表。

我在文本框中得到的是:

["Parameter Change between files 0 and 1 :  {'LPSUM': [(233, 42), '(253, 196)']}", "Parameter Change between files 1 and 2 :  {'LPSUM': [(253, 196), '(15, 194)']}", "Parameter Change between files 2 and 3 :  {'LPSUM': [(15, 194), '(229, 92)'],}"]

但我想要的是:

["Parameter Change between files 0 and 1 :  {'LPSUM': [(233, 42), '(253, 196)']}", 

"Parameter Change between files 1 and 2 :  {'LPSUM': [(253, 196), '(15, 194)']}", 

"Parameter Change between files 2 and 3 :  {'LPSUM': [(15, 194), '(229, 92)']}"]

【问题讨论】:

  • 尝试在列表表示中插入换行符。
  • 这只是让列表在文本中显示为每个元素和“\n”,不过我找到了另一个关于类似主题的论坛,其中一个答案似乎有效。这是我需要的代码 ("\n".join(map(str, listname)))。我还没有查看 map 函数的作用,但我将不得不查看它
  • 这就是我插入换行符的意思;)
  • 啊,那谢谢!我刚开始使用 python,所以这些功能对我来说还不是很自然!

标签: python text formatting tkinter string-formatting


【解决方案1】:
("\n".join(map(str, listname)))

这就是我要找的。如果有人在格式化列表以使每个元素都在新行上似乎有这样的问题,那么此代码将为您工作

【讨论】:

  • map(function, sequence) 等价于(function(item) for item in sequence)
猜你喜欢
  • 2014-01-20
  • 2017-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-12
  • 1970-01-01
  • 2014-07-18
  • 2020-11-28
相关资源
最近更新 更多