python打印字典的垂直值

时间:2017-03-29 16:34:36

标签: python python-2.7

我有一本字典,每个项目都有键和值[0]和值[1]。 列表中的值[0]有多个条目,而键和值[1]是单个值。 我想根据下面的输出垂直打印值[0]。

非常感谢!

mydict = {
      '1': (['John'], 20),
      '2': (['Jane',
             'Doe'],  21),
      '3': (['Johnny',
             'John',
              'Roe'],  10),
    }



Output:
    Id    Name     Age 
    1     John      20  
    2     Jane      21
          Doe
    3     Johnny    10
          John
          Roe

我厌倦了直接获取输出但无法获得正确的格式。

 for k,v in sorted(mydict.iteritems()):
      print k,
      print "\n".join(str(x) for x in v[0])
      print v[1] 

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题,但根据您的代码段,您似乎使用的是2.x版本,在这种情况下,为了兼容性,您需要将mydict.items更改为mydict.iteritems

for k,v in sorted(mydict.items()):
    print(k)
    im_a_string = ""

    for i in v[0]:
        im_a_string += i + " "

    print(im_a_string.rstrip())
    print(v[1])

输出:

1
John 
20
2
Jane Doe 
21
3
Johnny John Roe 
10

但是,如果您只是尝试打印字典中的(键:值)对,则以下内容应该有帮助...来了2.x与3.x兼容性问题适用:

my_dict={}

my_dict["im a key"] = "im a value"
my_dict["im another key"] = "im another value"
my_dict

for key,value in my_dict.items():
    print(key + " : " + value)

将提供以下输出:

im a key : im a value
im another key : im another value