转换字典

时间:2012-05-09 03:42:04

标签: python

这是我的字典

dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'}

我想得到一个输出:

dictionary for a
apple: der Apfel
ant:die Ameise
asparagus:der Spargel

我是字典的新手 请帮忙

我试过

def tutorial8_part2():
  dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'}
  dictList = dict.items()
  for key, value in dict.iteritems():
    temp = []
    aKey = key
    aValue = value
    temp.append(aKey)
    temp.append(aValue)
    dictList.append(temp)
    print dictList.append(temp)

但它不起作用

3 个答案:

答案 0 :(得分:3)

如果您只想在长行中打印出每个键和值对,可以执行以下操作:

dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'}
for key, value in dict.items():
  print key + ':', value,
print

输出的顺序可能与创建字典时的顺序不同。迭代字典不保证任何特定的顺序,除非你专门对键进行排序,例如使用sorted()内置函数:

for key, value in sorted(dict_.items()):  
    print "{0}: {1}".format(key, value)

答案 1 :(得分:2)

如果您只是尝试遍历字典,则打印键和值对:

>>> dict_ = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'}
>>> for k,v in dict_.iteritems():
...   print k, ':', v
... 
ant : die Ameise
asparagus : der Spargel
apple : der Apfel

使用生成器表达式的单行:

>>> print '\n'.join('{}: {}'.format(k,v) for k,v in dict_.iteritems())
ant: die Ameise
asparagus: der Spargel
apple: der Apfel

作为旁注,请避免使用dict作为变量名称,因为它会影响内置函数。

答案 2 :(得分:2)

这会做你想做的事吗?

(编辑:更新为新的输出格式)

my_dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'}

print 'dictionary for a'
for k, v in my_dict.iteritems():
     print '%s:%s' % (k, v)

的产率:

dictionary for a
ant:die Ameise
asparagus:der Spargel
apple:der Apfel

请注意,此订单与您发布的订单不同,但问题并不清楚订单是否重要。

正如@wim正确建议的那样,最好不要将dict用作变量名。