Python:如何打印字典值? [复制]

Posted

技术标签:

【中文标题】Python:如何打印字典值? [复制]【英文标题】:Python: How to print dictionary value? [duplicate] 【发布时间】: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循环打印出你想要的东西,下面的函数就没有用了。 【参考方案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() 

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

希望对您有所帮助! :)

【讨论】:

以上是关于Python:如何打印字典值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 python 中的字典总是有序的? [复制]

如何将列表作为字典的默认值? [复制]

如何以 json 格式(双引号)漂亮地打印(人类可读的打印)Python dict? [复制]

如何在 python 中使用两个列表创建字典? [复制]

如何在 python 中存储它打印到 stdout 的 os.system 的返回值? [复制]

在python中按值删除字典项的最佳方法是啥? [复制]