2

这是我的字典

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)

但它不工作

4

3 回答 3

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)
于 2012-05-09T03:56:43.610 回答
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用作变量名,因为它会影响内置。

于 2012-05-09T03:47:55.407 回答
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用作变量名。

于 2012-05-09T03:49:43.750 回答