2017-03-21 1 views
-2
dic = { 

    'key_1':['val_1','val_2'], 
    'key_2':['val_3','val_4'], 
    'key_3':['val_5','val_6'] 

} 

info = { 

    'i_1':'good', 
    'i_2':'bad' 

} 

for k,v in dic.items() 
    print 'Jack scrd'+info[i_2]+"in both subjects"+dic[val1]+'&'+dic[val2] 

Ich weiß, der Druckcode ist nicht richtig, aber gab es hier für das Verständnis, was ich wirklich hier tun wollte. Ich möchte nur die oben ähnliche Zeile im Druckbefehl.'print key_1 + value_1 + value_2 + gut' mit zwei Wörterbüchern ?? nichts anderes

+0

Welche Ausgabe erwarten Sie genau? – jonrsharpe

+0

# Jack scrd schlecht in beiden Fächer val_1 & val_2. Nur diese Zeile, die ich sehen möchte, möchte keine anderen Zeilen. –

+0

Ihre Anforderungen sind nicht sinnvoll, und dies ist kein Code-Schreibdienst. Ich schlage vor, dass Sie sich mehr anstrengen. – jonrsharpe

Antwort

0

Folgendes tut dies. Mit dem Befehl format können Sie {} einfach mit den Variablen Ihrer Wahl in einer Zeichenfolge ersetzen. Wenn es um das Wörterbuch geht dic[k] würde alle Listen rendern, die ['val_1','val_2'] eins ist. Also würden Sie dic[k][0] geben, um den ersten Wert zu erhalten, und dic[k][1], um den zweiten Wert zu erhalten.

for k,v in dic.items(): 
    msg = 'Jack scrd {} in both subjects {} & {}' 
    print msg.format(info['i_2'], dic[k][0], dic[k][1]) 

# Jack scrd bad in both subjects val_1 & val_2 
# Jack scrd bad in both subjects val_5 & val_6 
# Jack scrd bad in both subjects val_3 & val_4 
+0

# Jack scrd schlecht in beiden Fächer val_1 & val_2. nur diese Zeile, die ich sehen will, möchte nicht andere Zeilen.don't mich wana andere Werte in der Ausgabe verwenden, wie es immer noch drucken 3 Zeilen bestehen aus allen sechs Werten .. Ich wollte nur 2 Werte auf Schlüssel_1 für Buchse –

0

Vielleicht möchten Sie dies tun? die für

Schleife entfernen
print 'Jack scrd'+info['i_2']+'in both subjects'+str(dic['key_1'][0])+"&"+str(dic['key_1'][1]) 
+0

# drucken Jack scrd schlecht in beiden Fächern val_1 & val_2 nur das will sehen wollen nicht andere Linien –

+0

Akshay Apte nicht ich wana andere Werte in der Ausgabe verwenden, wie es noch Drucken 3 Zeilen bestehen aus allen sechs Werten ..ich wollte nur 2 werte auf key_1 für jack –

+0

drucken entfernen sie die for loop und fügen sie hinzu 'print 'Jack scrd' + info ['i_2'] + 'in beiden fächern' + str (dic ['key_1'] [ 0]) + "&" + str (dic ['key_1'] [1]) ' –

0

können Sie verwenden .join, um alle Listeneinträge mit einem gegebenen Separator zu verbinden. Wenn Sie alle Schlüssel von dic drucken möchten, können Sie verwenden:

dic = { 

'key_1':['val_1','val_2'], 
'key_2':['val_3','val_4'], 
'key_3':['val_5','val_6'] 

} 

info = { 

'i_1':'good', 
'i_2':'bad' 

} 

for keys in dic: 
    # .join will join all list items for a particular key with & and store it in variable subjects 
    subjects = ' & '.join(dic[keys]) 
    print "jack scored " + info['i_1'] + " in both subjects " + subjects 

Ausgang: Buchse in beiden Fächern gut erzielte VAL_1 & val_2 Buchse in beiden Fächern gut erzielte val_5 & val_6 Buchse in beiden Fächern gut erzielte val_3 & val_4

0

place_iraq = {

'shrine_1' : ['karbala','imam hussein as.'], 
'shrine_2' : ['najaf', 'imam ali as.'], 
'yard' : ['karbala', 'wadi-us-salam'], 
'shrine_3' : ['karbala', 'abbas as.'] 

}

type = { 't1': 'Schrein', 't2': 'Friedhof' }

print 'Die '+ str (Typ [' t1']) + 'von' + str (place_iraq ['shrine_1'] [1]) + 'befindet sich in' + \ str (place_iraq ['schrein_1'] [0])

drucken 'The' + str (typ ['t1']) + 'von' + str (place_iraq ['shrine_2'] [1]) + 'befindet sich in' + \ str (place_iraq ['shrine_2'] [0])

drucken 'The' + str (type ['t1']) + 'von' + str (place_iraq ['shrine_3'] [1]) + 'befindet sich in' + \ str (place_iraq ['shrine_3'] [0])

drucken 'Die' + str (typ ['t2']) + 'von' + str (place_iraq ['hof'] [1]) + ' befindet sich in '+ \ str (place_iraq [' hof '] [0])

Verwandte Themen