【问题标题】:Python: How to print dictionary value? [duplicate]Python:如何打印字典值? [复制]
【发布时间】:2018-08-06 20:00:19
【问题描述】:

当我执行代码时,它会打印“function aa in 0x0000...”等等。

我希望它打印 aa,a,b,c,d,。有可能吗?

抱歉这个愚蠢的问题,非常感谢。

def main():
    lunch = {
        0: aa,
        1: a,
        2: b,
        3: c,
        4: d,
        }

    for i in range(len(lunch)):
        print(lunch[i])
def aa():
    print("aa")
def a():
    pass
def b():
    pass
def c():
    pass
def d():
    pass
if __name__ == "__main__":
    main()        

【问题讨论】:

  • 函数的名称通常存储在它的__name__ 属性中。 Lambda 是一个明显的例外。
  • 您的意思是lunch = { 0: aa, ... } 还是您的意思是lunch = { 0: "aa", ... }?后者让for循环打印出你想要的东西,下面的函数就没有用了。

标签: python dictionary


【解决方案1】:

如果您想打印函数的name,只需使用__name__ 属性即可。

print(lunch[i].__name__)

如果您想将其作为函数调用,请使用paranthesis

print(lunch[i]())

【讨论】:

    【解决方案2】:

    这里有一个简单的代码来演示你想要什么:

    举个例子:

    myDic = {"i" : "me" , "you": "you" , "they" : "them"}
    for i in myDic:
        print (i)          # this will print all keys
        print (myDic[i])   # this will print all values
    

    注意:您还需要用像“aa”这样的引号将您的值括起来

    【讨论】:

      【解决方案3】:

      将此部分更改为:

      for i in range(len(lunch)):
          print(lunch[i].__name__)
      

      此时您正在打印函数而不是其名称。

      【讨论】:

        【解决方案4】:
        def main():
            lunch = {
                0: 'aa',
                1: 'a',
                2: 'b',
                3: 'c',
                4: 'd',
                }
        
            for k, v in lunch.items():
                print(v)
        
        if __name__ == "__main__":
            main() 
        

        我已经修改了你的代码,因为你只想打印值试试这个。

        希望对您有所帮助! :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-12-23
          • 2019-04-18
          • 2019-05-13
          • 2019-01-12
          • 1970-01-01
          • 2011-10-07
          • 1970-01-01
          相关资源
          最近更新 更多