我正在尝试在Python3中为学校项目构建一个类似于交互式shell的终端程序。 它应该易于扩展,而不是依赖于非python-builtin模块 为此,我制作了一个导入的模块,其中包含以下内容:
commandDictionary={
"command":'''
Information for my program on how to handle command
In multiple lines.''',
}
helpDictionary={
"command":'''
Short Text for the help-command to display
Also in multiple lines.'''
}
我想要做的是在输入帮助时以字符串形式列出helpDictionary中的所有键 输出应如下所示:
Help
List of available commands:
command1, command2, command3, command4 #Newline after 4 commands.
command5, command6, commandWithALongName, command8
我的问题是,helpDictionary.keys()返回如下内容:
['command1', 'command2']
我不想要Brackets也不想要'
这可能吗?
答案 0 :(得分:3)
如果您不想将内容保留在内存中,可以使用任意分隔符打印任何可迭代的内容,如下所示:
print(*helpDictionary.keys(), sep=', ')
如果您确实需要字符串,请在所需的分隔符上使用str.join
:
s = ', '.join(helpDictionary.keys())
print(s)
上面显示的两种情况都会以基本上任意的顺序输出结果,因为字典会使用哈希表。如果要按字典顺序对命令进行排序,请将helpDictionary.keys()
替换为sorted(helpDictionary.keys())
。
答案 1 :(得分:-1)
所以,你的问题是如何打印没有括号的列表。有几种解决方案。
for k in helpDictionary.keys(): print(k)
li = list(helpDictionary.keys())
print(str(li)[1:-1])