Python:打印为每个键分配了多个值的字典元素

时间:2016-09-20 03:17:58

标签: python list dictionary

我有一本字典,如下:

{    "amplifier": ["t_audio"],
     "airbag": ["t_trigger"], 
     "trigger": ["t_sensor1", "t_sensor2"],  
     "hu": ["t_fused"], 
     "cam": ["t_front", "t_ldw", "t_left", "t_nivi", "t_rear_camera", "t_right"], 
     "video_screen": ["t_video"]    }

如您所见,有些元素为每个键分配了多个值。我想将这些值作为字符串提取,分别在(优选地)for循环中然后打印出来。打印结果应该是这样的:

group(amplifier, t_audio)
group(airbag, t_trigger)
group(trigger, t_sensor1)
group(trigger, t_sensor2)
group(hu, t_fused)
group(cam, t_front)
group(cam, t_ldw)
...
...

我可以在一个普通字典上轻松执行此操作,其中每个键只有一个值,但对这个值几乎感到困惑(对不起,如果我是Python的新手...)。如何获得这个结果,我们对此有所帮助。

3 个答案:

答案 0 :(得分:1)

非常简单:遍历字典中的每个键。由于每个值都是一个包含一个或多个元素的列表,因此只需遍历这些元素并打印所需的字符串:

d = {'amplifier': ['t_audio'], 'hu': ['t_fused'], 'trigger': ['t_sensor1', 't_sensor2'], 'cam': ['t_front', 't_ldw', 't_left', 't_nivi', 't_rear_camera', 't_right'], 'airbag': ['t_trigger'], 'video_screen': ['t_video']}

for key in d:
    for value in d[key]: 
        print 'group({},{})'.format(key,value)

您可以在此处看到它:https://eval.in/645071

答案 1 :(得分:0)

for k, v in mydict.iteritems():
    for vv in v:
        print "group(%s,%s)" % (k,vv)
        #or
        print "group(",k,",",vv,")"
        #or the python 3 format syntax

答案 2 :(得分:0)

Embedding