2015-02-05 27 views
0

我要編寫代碼,以便當我運行該程序時,用戶輸入可以寫入一些數字並返回這些數字的取值。例如,用戶使用此調用該函數:Python函數使用戶輸入的數字列表

neg([1, 2, -3, 54, -9]) 

而這將導致在這個輸出:

[-1, -2, 3, -54, 9] 

我無法找到合適的編碼來解決這個問題。我很感激所有的幫助。

+1

'NEG =拉姆達升:圖(爲0x0 .__ sub__,升)' – grc 2015-02-05 14:12:44

+0

嚴重答案:'DEF NEG(1):返回[-x用於升X]' – grc 2015-02-05 14:19:09

+0

@mu無,在對你的迴應是數學101是-0與0相反嗎? – 2015-02-05 14:23:34

回答

0
lst = [1, 2, -3, 54, -9] 

def neg(lst): 
    for i in range(len(lst)): 
     lst[i] *= -1 
    return lst 

print neg(lst) 
0

所有你需要做的就是在列表中的每個項目的「逆」,map將做到這一點對你:

In [1]: map(lambda item: -item, [1, 2, -3, 54, -9]) 
Out[1]: [-1, -2, 3, -54, 9] 
1

您可以將多個每個項目由-1值得到否定。

>>> mylist = [-1,2,-3,-4.6,0] 
>>> neg_list = [-x for x in mylist] 
>>> neg_list 
[1, -2, 3, 4.6, 0] 

您可以看到,這對列表中的正值和負值都有效。它使在00