小编Mic*_*ney的帖子

如何从外部编写带变量的函数?

我希望你能提供帮助.我正在寻找一种方法来编写一个稍后插入一个项目的函数.让我举个例子:

def general_poly(L):
        """ 
        L, a list of numbers (n0, n1, n2, ... nk)
        Returns a function, which when applied to a value x, returns the value 
        n0 * x^k + n1 * x^(k-1) + ... nk * x^0 
        """
        x = 1
        res = 0
        n = len(L)-1
        for e in range(len(L)):
            res += L[e]*x**n
            n -= 1
        return res
Run Code Online (Sandbox Code Playgroud)

我想我可以在x这里给出一个值,一旦我这样做general_poly(L)(10),它将被替换,x = 10但显然它并不那么容易.我需要更改/添加什么才能使我的功能正常工作?功能如何知道,乘法是x?谢谢你的帮助,伙计们!

python scope function definition

4
推荐指数
1
解决办法
2272
查看次数

如果语句返回一行

我知道“单行如果语句”问题已经被问过多次了,但是我无法弄清楚我的代码出了什么问题。我想转换

def has_no_e(word):
    if 'e' not in word:
        return True
Run Code Online (Sandbox Code Playgroud)

像这样的一行功能:

def hasNoE(word):
    return True if 'e' not in word
Run Code Online (Sandbox Code Playgroud)

但是如果这样做我会收到语法错误-为什么?

python if-statement syntax-error

3
推荐指数
1
解决办法
9693
查看次数

虚假迭代

我想写一个for测试两个函数的循环list.第一个给出一个int,第二个a boolean.如果boolean == False函数应该从列表中删除元素,那么在调用函数L之后最终应该进行变异.这是一个例子.

def f(i):
    return i + 2

def g(i):
    return i > 5

L = [0, -10, 5, 6, -4]

def applyF_filterG(L, f, g):
    for i in L:
        if g(f(i)) == False:        
            L.remove(i)

L = [5, 6]
Run Code Online (Sandbox Code Playgroud)

我的问题是,使用上面写的函数,我L = [-10, 5, 6]回来了,因为如果i被删除,由于删除的元素i+1变成了一个i+2.有人知道如何解决这个问题吗?十分感谢!

python iteration for-loop list

0
推荐指数
1
解决办法
78
查看次数