def线在python中做了什么

时间:2012-02-12 20:02:36

标签: python

倒数第二行的作用是什么?它似乎没有分配变量,打印或任何东西,但我试图以各种方式破坏代码,行doublelist(somelist)似乎是必要的,但我不知道为什么。

def doubleList(list):
    i=0
    while i<len(list):
        list[i]=list[i]*2
        i=i+1

someList=[34,72,96]
doubleList(someList)
print someList

3 个答案:

答案 0 :(得分:4)

函数可以修改传递给它们的可变参数。名为“list”的(名称不佳)列表具有(使用非惯用样式)其每个元素乘以2,就地。例如:

>>> def inplace(seq):
...     seq[0] = 5
... 
>>> a = [1,2,3]
>>> print a
[1, 2, 3]
>>> inplace(a)
>>> a
[5, 2, 3]

答案 1 :(得分:3)

声明

def doublieList(list):

以下缩进行只是创建一个函数

倒数第二行会导致在someList

上调用该函数

答案 2 :(得分:1)

由于@DSM已经回答了这个问题,我将提供此功能的更多pythonic版本:

    def doubleList(something_other_than_list):
        for i in range(len(something_other_than_list)): something_other_than_list[i] *= 2