Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中从列表中删除负数?_Python - Fatal编程技术网

如何在Python中从列表中删除负数?

如何在Python中从列表中删除负数?,python,Python,我是Python新手,一直在用列表涂鸦。我只想打印列表中的正数,但是只有第一个负数元素被删除,第二个负数元素保持原样 这是我的密码: def myfunc(mylist1) : print("List before sorting the elements : ", mylist1) mylist1.sort() print("List after sorting the elements : ", mylist1) for i in range(0,len(my

我是Python新手,一直在用列表涂鸦。我只想打印列表中的正数,但是只有第一个负数元素被删除,第二个负数元素保持原样

这是我的密码:

def myfunc(mylist1) :
    print("List before sorting the elements : ", mylist1)
    mylist1.sort()
    print("List after sorting the elements : ", mylist1)
    for i in range(0,len(mylist1)) :
        if mylist1[i] <= 0  :
            del mylist1[i]

        else:
            break
    print("After Operations,Final list : ", mylist1)
    return
mylist = [67,78,54,-20,-23,44]
myfunc(mylist)

您可以通过列表理解删除它们。以下是定义函数的方式:

def myfunc(mylist1):
     return sorted([x for x in mylist1 if x > 0])
print(myfunc(mylist1))

您可以通过列表理解删除它们。以下是定义函数的方式:

def myfunc(mylist1):
     return sorted([x for x in mylist1 if x > 0])
print(myfunc(mylist1))

您正在从正在迭代的列表中删除,这会导致奇怪的结果是的,作为@aws_学徒,当您删除第一个元素(my_list[0]),第二个元素将成为第一个元素,在第二次迭代中,第三个元素(当前为第二个元素)将被选中,循环将中断。噢!这就清楚地表明了这一点。谢谢您正在从正在迭代的列表中删除,这会导致奇怪的结果是的,作为@aws_学徒,当您删除第一个元素(my_list[0]),第二个元素将成为第一个元素,在第二次迭代中,第三个元素(当前为第二个元素)将被选中,循环将中断。噢!这就清楚地表明了这一点。谢谢它工作得很好!我还没有学习列表理解,我现在就开始学习。谢谢你工作得很好!我还没有学习列表理解,我现在就开始学习。谢谢