Python 使用未定义列表中的函数创建列表

Python 使用未定义列表中的函数创建列表,python,function,Python,Function,我被要求创建一个当数字7出现时停止的数字列表 我尝试了以下操作,但出现运行时错误: def sublist(x): s = [] while x != 7: s.append(x) return s 有什么想法吗?如果您遇到运行时错误,您可能无法比较x和7的类型。试一试 def子列表: s=[] 对于x中的元素: 如果元素!=7: s、 附属物 其他: 打破 返回s 只有当x是可编辑的并且有可以与7比较的元素时,这才有效。试试这个 def sublist

我被要求创建一个当数字7出现时停止的数字列表

我尝试了以下操作,但出现运行时错误:

def sublist(x):
    s = []
    while x != 7:
        s.append(x)
    return s

有什么想法吗?

如果您遇到运行时错误,您可能无法比较x和7的类型。试一试

def子列表: s=[] 对于x中的元素: 如果元素!=7: s、 附属物 其他: 打破 返回s 只有当x是可编辑的并且有可以与7比较的元素时,这才有效。

试试这个

def sublist(x):
    s = []
    x1=0 #initialized x1
    while x[x1] != 7:
        s.append(x[x1])
        if x1==len(x)-1:
            break
        x1+=1 #increment x1
    return s

x=[1,4,8,9,2,7,4,2,3,4]
print(sublist(x))
输出:

[1, 4, 8, 9, 2, 4, 2, 3, 4]

希望这对你有帮助

在该函数中,x的值以及与7相等的比较结果会在哪里发生变化?返回listitertools.filterlambda y:y!=7,x?函数的参数应该是一个列表还是至少是一个iterable?谢谢,但是列表不会迭代。这是一个未定义的列表,可能包含任何数字。您传递给函数的x是一个列表吗?非常感谢!我真的被卡住了。