Python - 打印列表内容并包括方括号但不包括撇号

Python - Print contents of list and include square brackets but not apostrophes

如标题所述,我定义了一个字符串列表变量,我需要将列表的内容打印为输入行的一部分,其中还包括其他文本,我需要打印列表的内容使用方括号筛选但不使用撇号。

这是我的代码:

interactive_options = ['list', 'heroes', 'villains', 'search', 'reset', 'add', 'remove', 'high', 'battle', 'health', 'quit']
user_choice = input(f'''
Please enter a choice \n{interactive_options}
''')

当前输出为:

请输入一个选项

['list', 'heroes', 'villains', 'search', 'reset', 'add', 'remove', 'high', 'battle', 'health', 'quit']

... 而我需要:

请输入一个选项

[列表、英雄、反派、搜索、重置、添加、移除、高、战斗、健康、退出]:

注意 - 我还需要在列表内容的末尾打印一个冒号,但它也无法正常工作。

如果您使用 print(interactive_options) - 您会得到 str(interactive_options) 的结果:

>>> print(interactive_options)
['list', 'heroes', 'villains', 'search', 'reset', 'add', 'remove', 'high', 'battle', 'health', 'quit']
>>> str(interactive_options)
['list', 'heroes', 'villains', 'search', 'reset', 'add', 'remove', 'high', 'battle', 'health', 'quit']

但是,您可以使用 join(其中 returns 一个字符串,通过连接一个可迭代对象(列表、字符串、元组)的所有元素,由字符串分隔符分隔)来格式化输出如你所愿,像这样:

>>> ", ".join(interactive_options)
list, heroes, villains, search, reset, add, remove, high, battle, health, quit

您可以在输出中添加方括号和冒号:

>>> interactive_options_print = ", ".join(interactive_options)
>>> interactive_options_print = "[" + interactive_options_print + "]:"
>>> interactive_options_print
[list, heroes, villains, search, reset, add, remove, high, battle, health, quit]:

你可以试试这个 -

interactive_options = ['list', 'heroes', 'villains', 'search', 'reset', 'add', 'remove', 'high', 'battle', 'health', 'quit']
user_choice = input(f'''
Please enter a choice \n{str(interactive_options).replace("'","")}:
''')