如何在没有括号的python3中返回字符串键

时间:2018-03-14 14:06:27

标签: python-3.x dictionary terminal

我正在尝试在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也不想要'

这可能吗?

2 个答案:

答案 0 :(得分:3)

如果您不想将内容保留在内存中,可以使用任意分隔符打印任何可迭代的内容,如下所示:

print(*helpDictionary.keys(), sep=', ')

如果您确实需要字符串,请在所需的分隔符上使用str.join

s = ', '.join(helpDictionary.keys())
print(s)

上面显示的两种情况都会以基本上任意的顺序输出结果,因为字典会使用哈希表。如果要按字典顺序对命令进行排序,请将helpDictionary.keys()替换为sorted(helpDictionary.keys())

答案 1 :(得分:-1)

所以,你的问题是如何打印没有括号的列表。有几种解决方案。

  1. 遍历键:for k in helpDictionary.keys(): print(k)
  2. 或者将列表转换为字符串,然后打印mid。
  3. li = list(helpDictionary.keys()) print(str(li)[1:-1])