Tkinter python中tkMessageBox.showinfo中的for循环

Tkinter python中tkMessageBox.showinfo中的for循环,python,tkinter,Python,Tkinter,我想在python中的TkintertkMessageBox.showinfo()中实现一个for循环 我需要在框中打印列表列表 我目前拥有的是: tkMessageBox.showinfo( "Help INFORMATION", "help1 help2 \n help3 help4 \n help5 help6" ) 我想要的是: 下面是一个例子 my_list=[['help1','help2'],['help3','help4'],['help5','help

我想在python中的
Tkinter
tkMessageBox.showinfo()中实现一个
for
循环 我需要在框中打印列表列表

我目前拥有的是:

tkMessageBox.showinfo(
    "Help INFORMATION",
    "help1 help2 \n help3 help4 \n help5 help6"
    )
我想要的是: 下面是一个例子

my_list=[['help1','help2'],['help3','help4'],['help5','help6']]

tkMessageBox.showinfo(
        "Help INFORMATION",
        for i in my_list:
            i + "\n" #cant use print as I want to display it in the dialog box and not in the console. 

        )
因此,对话框中的输出应如下所示:

help1 help2
help3 help4
help5 help6
但我得到的是:

Syntax Error -> for i in my_list:

好的,你可以试试这个,我知道这不是最有效的,但它很有效

my_list=[['help1','help2'],['help3','help4'],['help5','help6']]


def to_tuples(list):
    tuples = []
    for sublist in list :
        tuples.append(tuple(sublist))
    return tuples


def dialog_info(tuples):
    res = ""
    for element in tuples :
        res += ' '.join(element)
        res += '\n'

    return res

print dialog_info(my_list)
现在,您只需使用:

my_list = [['help1', 'help2'], ['help3', 'help4'], ['help5', 'help6']]

tkMessageBox.showinfo(
    "Help INFORMATION",
    dialog_info(my_list)
)
这个怎么样:

    my_list=[['help1','help2'],['help3','help4'],['help5','help6']]
    tkMessageBox.showinfo(
        "Help INFORMATION",
        '\n'.join(map(' '.join, my_list))
    )
我没有测试它,但理想情况下应该做这项工作

您可以使用

'\n'.join(map(' '.join, my_list))

而不是for循环。

你只是想让列表变平?@AbdelrahmanElkady编辑了这个问题,看到了吗。@A_nagpal是的,这是我错过的更好的方法TypeError:序列项0:预期字符串,int found,你确定吗?我没有随身携带tKinter atm,但是键入('\n'.join(map(''.join,my_list)))会返回string.Oops!我犯了一个愚蠢的错误!你的回答很好!谢谢