【问题标题】:Print a list from user input [closed]从用户输入打印列表[关闭]
【发布时间】:2020-09-16 16:22:10
【问题描述】:
Lists1 = [1,2,4,4]
Lists2 = [2,4,4]
Lists3 = [1,7]

List = input("input name of list to be printed: ")

我将如何为此编写打印命令? 任何帮助表示赞赏:)

【问题讨论】:

  • 我会做一个字典,所以你可以打印出所需键的值。
  • 嗨,欢迎来到 SO,请阅读 How do I ask a good question? 以及如何创建 minimal,complete and verifiable example 并使用您想要实现的目标和尝试代码编辑您的问题
  • @Austin 同意字典绝对是解决这个问题的方法
  • 请从intro tour 重复on topichow to ask。 “告诉我如何解决这个编码问题”不是堆栈溢出问题。你必须做出诚实的尝试,然后然后就你的算法或技术提出一个具体的问题。

标签: python python-3.x list printing


【解决方案1】:

有两种方法,要么制作一个包含所有可打印列表的字典,要么使用eval,而不是recommended

lists = {
  'List1': [1,2,4,4],
  'List2': [2,4,4],
  'List3': [1,7]
}

text = input("input name of list to be printed: ")
print(lists[text])

或者

List1 = [1,2,4,4]
List2 = [2,4,4]
List3 = [1,7]

text = input("input name of list to be printed: ")
print(eval(text))

两个代码段的输出:

input name of list to be printed: List1
[1, 2, 4, 4]

【讨论】:

  • 当你提议使用dict时,不需要使用eval
  • @MauriceMeyer 我不确定提问者想要什么,所以这就是我将两种方式都包括在内的原因。 eval 对某些用户来说似乎很简单,但它是否存在安全风险
  • 我认为使用eval 更复杂,因为字典还可以将列表中包含的数据(如果它们相关)组合在一起,并提供其他有用的方法和例外。但是,eval 确实可以胜任。
  • @LeonisSupreme 我同意更大的代码段,eval 肯定会阻碍开发甚至测试过程。我也更喜欢 dict 方法。我包括eval 作为可以做的例子,但也许不应该做。 ;)
【解决方案2】:

此代码打印指定列表的每个元素。

Lists1 = [1,2,4,4]
Lists2 = [2,4,4]
Lists3 = [1,7]

List = input("input name of list to be printed: ")

if List == "Lists1":
    for i in Lists1:
        print(i)
elif List == "Lists2":
    for i in Lists2:
        print(i)
elif List == "Lists3":
    for i in Lists1:
        print(i)
else:
    print("List doesn't exist")

【讨论】:

    【解决方案3】:

    您可以通过将它们插入到 dict 中来实现这一点

    list_dict = {"Lists1":[1,2,4,4],
    "Lists2":[2,4,4],
    "Lists3" :[1,7]
    }
    List = input("input name of list to be printed: ")
    print(list_dict.get(List))
    #[1,2,4,4]
    

    【讨论】:

      猜你喜欢
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多