2016-04-03 9 views
-3

Ich möchte mein Programm resident suchen und wenn es einen bestimmten Wert hat, wird es die gleichen platzierten Daten aus anderen Listen drucken. Zum Beispiel würde ich in dieser Situation wollen, dass es druckt;Listen suchen und dann denselben Ort aus anderen Listen aufrufen

"Name ist Alan, im Alter von 7 ist und sie leben nicht in place",

sowie

"Name Margaret ist, ist das Alter 66 und sie leben nicht in place"

name = ["Alan", "Susan", "Margaret"] 
age = [7, 34, 66] 
resident = [0, 1, 0] 

if resident = 0: 
    print ("name is {}, age is {} and they do not live in place".format(name[], age[])) 
+0

[Pythonic Iteration mehrere Listen parallel] (http://stackoverflow.com/q/21911483/2301450) – vaultah

Antwort

0

zip nimmt mehrere Listen und gibt eine Liste von Tupeln. Hier ist ein Beispiel:

zip(name, age, resident) 
>>>> [('Alan', 7, 0), ('Susan', 34, 1), ('Margaret', 66, 0)] 

Iterieren über jedes Tupel ist dann sehr einfach.

-1

können Sie die %s string Ersatz häufig verwendete verwenden:

name = ["Alan", "Susan", "Margaret"] 
age = [7, 34, 66] 
resident = [0, 1, 0] 

if resident[0] == 0:print ("name is %s, age is %s and they do not live in place"%(name[0],age[0])) 
0

Beachten Sie auch die Verwendung von enumerate, die den Index und Element aus der iterierten Liste bieten wird:

>>> for i,x in enumerate(resident): 
     if x == 0: 
      print("name is {0}, age is {1} and they do not live in place".format(name[i], age[i])) 


name is Alan, age is 7 and they do not live in place 
name is Margaret, age is 66 and they do not live in place