python - 绝对值并添加到列表

标签 python python-3.x

大家好,我正在使用 Python,我正在尝试编写一个接受列表和选项(1 或 0)的函数。如果选项为 0,则返回一个新列表,其中包含绝对值大于 5 的所有数字;如果选项为 1,则返回所有奇数。

我几乎可以使用 0 选项,但是当我尝试取回列表时,它只是保持空白,我想知道是否有人可以帮助我找出我在附加列表元素时做错了什么。

到目前为止我的代码:

def splitList(myList, option):
    myList = []
    myList2 = []
    if option == 0:
        for element in myList:
            if abs(element)>5:
                myList2.append(element)
    print(myList2)

最佳答案

您想返回函数的结果;在末尾添加return语句:

return myList2

此外,您将 myList 重新绑定(bind)到函数开头的空列表;一起删除该行;否则你将忽略传递给函数的 myList 参数:

def splitList(myList, option):
    myList2 = []
    if option == 0:
        for element in myList:
            if abs(element)>5:
                myList2.append(element)
    return myList2

您可以将循环简化为使用列表理解:

def splitList(myList, option):
    if option == 0:
        return [el for el in myList if abs(el) > 5]

关于python - 绝对值并添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19321816/

相关文章:

python - 将 ctypes c_void_p 转换为 C 输出参数

python - 如何通过对嵌套列表中的单词进行词干处理来获取嵌套列表?

python - TensorFlow v2 : Replacement for tf. contrib.predictor.from_saved_model

python - 无法使用任何方法使用 python (3.8) 脚本打开 Microsoft Teams

python - 将控制台中的所有内容重定向到日志文件,包括'input'和'os.system'函数

python - 如何登录 Appengine 中的任意用户以使用 Drive SDK?

python - 导入错误: No module named 'django' uWSGI Django Nginx Ubuntu 16. 04 Python3.6

python - 列出pandas数据框

python - 从右到左和从左到右打印得很好

python-3.x - 无法使用 Python 3.8 在 Ubuntu 18.04 上创建 virtualenv