2017-09-17 4 views
0

Ich habe folgende Daten in JSON. Der Zweck ist, meinen unten angegebenen Programmbefehlen und den Städtenamen zu geben, und sie sucht die Wetterinformationen über diese bestimmte Stadt. (Ich habe nicht den Code enthalten, der die Wetterdaten sucht)Wie beitreten Elemente von zwei verschiedenen Objekten in Python

{"tag": "weather", 
     "patterns": ["how will be weather today in" ,"What is the weather like in", "what is the weather in"], 

     "responses": [""] 

     } 

Und mein Python-Skript

  if i['tag'] == 'weather': 
       cities = [' karachi', ' lahore', ' islamabad', ' rawalpindi'] 
       for pattern in i['patterns']: 
        pattern+=cities 
        print(pattern) 

Er druckt die folgenden Anweisungen

how will be weather today in[' karachi', ' lahore', ' islamabad', ' rawalpindi'] 
What is the weather like in[' karachi', ' lahore', ' islamabad', ' rawalpindi'] 
what is the weather in[' karachi', ' lahore', ' islamabad', ' rawalpindi'] 

Was ich will es

drucken
What is the weather like in karachi 
What is the weather like in islamabad 
what is the weather like in rawalpindi 

und so weiter. Ich habe auch versucht Muster + = Städte zu nutzen [0] und er druckt

wie das Wetter ist wie in karachi nur und ignoriert alle anderen Städte. Ich bin neu bei Python und habe vielleicht nicht alles richtig erklärt. Hoffe jemand könnte mir helfen.

+0

warum wollen Sie 'lahore' in der Ausgabe übersprungen werden? – jq170727

+0

Es war nur so, dass ich nur eine Stadt nach der anderen haben möchte. Natürlich wird Lahore enthalten –

+0

Dann sollten Sie vielleicht die Beispielausgabe korrigieren. – jq170727

Antwort

0

Sie benötigen zwei Schleifen:

for pattern in i['patterns']: 
    for city in cities: 
     print(pattern + city) 
+0

Danke. Es funktionierte. –

+0

Noch eine Frage, wenn es Ihnen nichts ausmacht. Ist es möglich, die Aussage mit nur der Stadt zu drucken, die in der Frage erwähnt wird, anstatt sie alle zu drucken? Zum Beispiel gebe ich Frage: "Wie ist das Wetter in Karachi" und es druckt nur für Karachi –

+0

@Tauseef_Ahmed sicher, nur die Eingabe speichern und keine Schleife verwenden. In diesem Fall klingt es so, als wären die Eingabe und die Ausgabe die gleichen, so dass ich nicht verstehe, was Sie ohnehin zu tun versuchen. –

Verwandte Themen