2016-11-19 58 views
1

我已經嘗試了一堆不同的方式,這是一個。但想法是在一個函數中定義一個列表,但我不能讓它在第二個函數中使用列表。然後,我也必須在列表2中的偶數。函數和列表

def main(): 
    print (list1()) 
    print() 
    print (list2()) 
def list1(): 
    list1 = [] 
    for i in range (100): 
     list1.append(random.randint(2, 25)) 
    return list1 

def list2(): 
    i = 0 
    list2 = [] 
    for i in list1(): 
     if (i % 2 == 0): 
      list2.append(i) 

    return list2 
+0

是@falsetru是對的。將變量傳遞給函數而不是依賴全局名稱空間更安全。這是最好的功能。否則,你將不得不在'list2()'中使用'global list1',這通常是一個壞主意。 – pylang

回答

2

如何聲明參數;保存返回值list1()並將其作爲參數傳遞給list2(..)

def main(): 
    lst1 = list1() 
    lst2 = list2(lst1) 
    print(lst1) 
    print() 
    print(lst2) 

def list1(): 
    list1 = [] 
    for i in range (100): 
     list1.append(random.randint(2, 25)) 
    return list1 

def list2(lst1): # accept a parameter. 
    i = 0 
    list2 = [] 
    for i in lst1: # use the parameter, instead of calling list2() 
     if i % 2 == 0: 
      list2.append(i) 

    return list2 
+0

我覺得這很明顯!但凌晨2點沒有任何意義。非常感謝您的幫助。 – zmorris