在字典中打印出列表

时间:2017-09-21 00:57:20

标签: python list dictionary

这里的Noobish问题。我的日子里没有做过太多的蟒蛇。我遇到了循环浏览字典并以此格式打印出密钥和值(本例中的列表)的问题:

deer : brown antlers doe fawn
bear : black teeth polar cub

目前正在输出

('deer:', ['brown', 'antlers', 'doe', 'fawn'])
('bear:', ['black', 'teeth', 'polar', 'cub'])

我的代码是:

animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'],
           'bear': ['black', 'teeth', 'polar', 'cub']}

for i in animals:
    print(i +':', animals[i])

显然这是我循环的语法,但经过一个小时的失败后,我不确定是怎么回事。感谢任何帮助,谢谢!

4 个答案:

答案 0 :(得分:3)

每个人都错过了这样一个事实:在Python中,如果你想要键和值,最好迭代"项目"。

animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'],
           'bear': ['black', 'teeth', 'polar', 'cub']}

for animal_name, animal_list in animals.items():
    print("{} : {}".format(
            animal_name,
            " ".join(animal_list),
            ))

答案 1 :(得分:2)

animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'],
           'bear': ['black', 'teeth', 'polar', 'cub']}


for k, v in animals.items():
    print "%s:%s" % (k, " ".join(str(i) for i in v))

答案 2 :(得分:1)

试试这个:

animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'],
           'bear': ['black', 'teeth', 'polar' 'cub']}

for i in animals:
    print i +':', ' '.join(animals[i]) # add ( ) for python3...

答案 3 :(得分:1)

首先,我强烈建议您阅读/观看一些初学python教程。 Derek Banas在youtube上有一些很好的视频可能有所帮助。问题是你试图打印整个列表,而不是它的各个元素(调用列表。 str )。假设您有使用其他编程语言的经验,那么python字符串有一个接受迭代的连接方法应该不足为奇。你想做什么,是这样的:

# using a format string
for key in dict_of_lists:
    print('{} : {}'.format(key, ' '.join(dict_of_lists[key]))