【问题标题】:Python shall print the name of a list given to a functionPython 将打印给定函数的列表名称
【发布时间】:2021-04-14 18:46:02
【问题描述】:

这项任务似乎很容易 - 几个小时后我仍然找不到解决方案。 我想传递一个列表,然后打印列表的名称

  • 我尝试使用 locals() - 但后来我得到的是“list”而不是“march”

  • 使用 str(list) 时,我将列表中的项目作为字符串获取,而不是“march”

      march = ["A", "B", "C"]
    
      def func(list):
    
          print("Name of the List: " +  ????????)
    
      return None
    
      func(march)
    

它应该打印: "名单名称:三月"

【问题讨论】:

  • 对象没有名字。变量有名字,但不能保证调用者有一个引用参数的变量。
  • 你可以使用字典
  • 您希望func([1, 2, 3]) 打印什么?简而言之,作为@user2357112supportsMonica,你不能这样做 - 该函数只能看到列表,而不是当时恰好保存该列表的变量。
  • “我想传递一个列表而不是打印列表的名称” - 你为什么需要这样的东西?
  • @JustinEzequiel 实际上可能有很多原因,例如您想知道它是什么类型,因为值可以是整数,如果您只有很多包含整数的列表,但每个列表适用于不同的遭遇或类似的事情,但正如我建议的那样,OP 可以使用字典。

标签: python list parameter-passing


【解决方案1】:

我想过这个:

def name(obj, n):
    namesp = [i for i in n if n[name] is obj]
    yourname = namesp[0]
    print("Name of the List: " + yourname)

# usage
name(march, globals())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    相关资源
    最近更新 更多