2013-04-22 46 views
0

我有以下字符串,我想打印的清单对象:如何在Python中的字典中打印列表?

{u'categories': [u'Food', u'Grocery']} 

我用下面的颂歌,但不工作:

d = {u'categories': [u'Food', u'Grocery']}       
print "Categories: " + d['categories']      
print "Categories: " + d['categories[0]'] 

谢谢!

+1

投票关闭太本地化 – jamylak 2013-04-22 07:57:41

+3

[diveintopython的(HTTP:// WWW。 diveintopython.net/toc/index.html) – 2013-04-22 07:59:01

回答

4
>>> d = {u'categories': [u'Food', u'Grocery']} 
>>> print "Categories: " + ', '.join(d['categories']) 
Categories: Food, Grocery 
>>> print "Categories: " + d['categories'][0] 
Categories: Food 
+0

它的工作原理,谢谢! – Mahdi 2013-04-22 08:02:39

+0

与打印字典中的浮点数和整数是否相同? – Mahdi 2013-04-22 08:03:56

+2

@Mahdi不,他们需要转换为'str'进行打印。例如:'print“Numbers:”+','.join(map(str,d ['numbers']))'。由于您没有在问题中指定,因此我不确定您需要格式化的格式。自己尝试一些这些选项 – jamylak 2013-04-22 08:05:38

3

如果你想打印的类别,然后每一个类别,然后名称:

for category in your_dict['categories']: 
    print 'Categories:', category 
+0

它只是打印第一项! – Mahdi 2013-04-22 08:01:42

+1

@Mahdi然后我可以假设jamylak的答案更接近你想达到的目标...... – 2013-04-22 08:02:35

+0

@Mahdi还在不同的行上打印其他项目。如果添加尾随逗号'print'分类:',category,'它会将它们打印在一行上,空格分开 – jamylak 2013-04-22 08:04:10

0
for k,v in your_dict.iteritems(): 
    for item in v: 
     print k, ":", item