这里的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])
显然这是我循环的语法,但经过一个小时的失败后,我不确定是怎么回事。感谢任何帮助,谢谢!
答案 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]))