Попробуйте использовать функцию locals()
, например:
aaa = [1, 2, 3, 4, 5]
bbb = [6, 7, 8, 9, 10]
target = input("What list would you like to see? ")
# NOTE: please don't (I REPEAT DON'T) use eval here
# : it WILL cause security flaws
# : try to avoid eval as much as possible
if target in locals():
found = locals()[target]
# basic type checking if you only want the user to be able to print lists
if type(found) == list:
print(found)
else:
print("Whoops! You've selected a value that isn't a list!")
else:
print("Oh no! The list doesn't exist")
Вот более краткая версия того же кода:
aaa = [1, 2, 3, 4, 5]
bbb = [6, 7, 8, 9, 10]
target = input("Enter list name: ")
if target in locals():
found = locals()[target]
print(found if type(found) == list else "Value is not a list.")
else:
print("Target list doesn't exist")
ПРИМЕЧАНИЕ: во втором ответе код меньше, потому что я удалил комментарии, использовал меньшие сообщения и добавил троичный оператор.
ПРИМЕЧАНИЕ: view thisОтветьте из на этот вопрос , чтобы узнать больше о том, почему использование eval
плохо.
Удачи.