2016-09-20 23 views
1

多个值的字典元素我有像一个字典,如下:的Python:打印具有分配给每个键

{ "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) 
... 
... 

我可以轻松地在普通字典,其中每个键只有一个值,但得到的几乎糊涂了这一个执行此(抱歉,如果我newbe到Python ... )。对于如何获得这个结果,任何形式的帮助都会受到赞赏。

+0

您可能希望创建一个嵌套的循环遍历字典和该字典中的每个列表,如'for key,lst in dict {for val in lst {...' – ozgur

+0

只要你知道,每个键都有*一个*值。这些值恰好是另一个容器,即列表。 –

回答

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 
+1

首先,':'在第一个循环结束时丢失。其次,为了获得更多用户可读的代码,您可能希望在print语句中使用'.format()'。 – ozgur

0
for key in dict: 
    for value in dict[key]: 
     print value 
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

相关问题